How To Install SDKMAN on Fedora 38

In this short tutorial we will show you how to learn install SDKMAN on Fedora 38 operating system.
Introduction
Managing multiple software development kits (SDKs) and build tools for different programming languages can be a cumbersome task, especially for developers who work with various technologies. SDKMAN! (Software Development Kit Manager) is a valuable open-source tool designed to streamline the process of installing, managing, and switching between different SDKs and tools. In this article, we’ll explore SDKMAN! and how it simplifies the development environment for developers.
What is SDKMAN ?
SDKMAN! is a command-line tool that provides a convenient and consistent way to install, manage, and switch between various SDKs, runtime environments, and build tools. It primarily focuses on technologies used in the Java ecosystem, but it also supports several other programming languages and tools, making it versatile for developers working on different projects.
Key Features of SDKMAN!
- Multi-Platform Support: SDKMAN! is compatible with various operating systems, including Linux, macOS, and Windows. This cross-platform support ensures a consistent experience for developers.
- Easy Installation: Installing SDKMAN! is a straightforward process, and it doesn’t require administrative privileges. You can install it in your home directory without interfering with system-wide packages.
- SDK Management: SDKMAN! simplifies the installation of SDKs, such as Java Development Kits (JDKs), Kotlin, and Groovy. Developers can install multiple versions of the same SDK and switch between them with ease.
- Build Tool Support: In addition to SDKs, SDKMAN! supports popular build tools like Gradle, Maven, and Ant. This allows developers to manage and switch between build tools according to project requirements.
- Version Switching: SDKMAN! makes it simple to switch between different versions of SDKs or tools. This is especially useful when working on projects that require specific versions for compatibility.
- Global and Local Configuration: SDKMAN! offers global and local configuration settings, allowing developers to customize their environment to suit specific projects.
- Plugin System: SDKMAN! provides a plugin system that extends its functionality. Developers can create and share plugins to add support for new SDKs or tools.
How To Install SDKMAN On Fedora 38
To install SDKMAN! on Fedora 38 operating system is a simple process. Before we begin we must prepare our system to meet the requirements. The requirements are as follow :
- A system which is running Fedora
- An account with sudo privilege
- Good internet connection
Here are the SDKMAN! installation process :
- Update Fedora System
- Install SDKMAN! on Fedora
- Verify SDKMAN! installation
Step 1: Update Fedora System
$ sudo dnf clean all $ sudo dnf update
Step 2 : Install SDKMAN! on Fedora
By using curl command line, we will download SDKMAN! package from its official website.
$ curl -s "https://get.sdkman.io" | bash
Output :
[ramansah@bckinfo ~]$ curl -s "https://get.sdkman.io" | bash -+syyyyyyys: `/yho:` -yd. `/yh/` +m. .oho. hy .` .sh/` :N` `-/o` `+dyyo:. .yh:` `M- `-/osysoym :hs` `-+sys: hhyssssssssy+ .sh:` `N: ms/-`` yy.yh- -hy. `.N-````````+N. `od/` `N- -/oM- ddd+` `sd: hNNm -N: :do` .M. dMMM- `ms. /d+` `NMMs `do .yy- :N` ```mMMM. - -hy. /MMM: yh `+d+` `:/oo/` `-/osyh/ossssssdNMM` .sh: yMMN` /m. -dh- :ymNMMMMy `-/shmNm-`:N/-.`` `.sN /N- `NMMy .m/ `oNs` -hysosmMMMMydmNmds+-.:ohm : sd` :MMM/ yy .hN+ /d: -MMMmhs/-.` .MMMh .ss+- `yy` sMMN` :N. :mN/ `N/ `o/-` :MMMo +MMMN- .` `ds mMMh do /NN/ `N+....--:/+oooosooo+:sMMM: hMMMM: `my .m+ -MMM+ :N. /NMo -+ooooo+/:-....`...:+hNMN. `NMMMd` .MM/ -m: oMMN. hs -NMd` :mm -MMMm- .s/ -MMm. /m- mMMd -N. `mMM/ .- /MMh. -dMo -MMMy od. .MMMs..---yh +MMM. sNo`.sNMM+ :MMMM/ sh`+MMMNmNm+++- mMMM- /--ohmMMM+ :MMMMm. `hyymmmdddo MMMMh. ```` `-+yy/`yMMM/ :MMMMMy -sm:.``..-:-.` dMMMMmo-.``````..-:/osyhddddho. `+shdh+. hMMM: :MmMMMM/ ./yy/` `:sys+/+sh/ .dMMMMMMmdddddmmNMMMNNNNNMMMMMs sNdo- dMMM- `-/yd/MMMMm-:sy+. :hs- /N` `/ymNNNNNNNmmdys+/::----/dMMm: +m- mMMM+ohmo/.` sMMMMdo- .om: `sh `.-----+/.` `.-+hh/` `od. NMMNmds/ `mmy:` +mMy `:yy. /moyso+//+ossso:. .yy` `dy+:` .. :MMMN+---/oys: /+m: `.-:::-` /d+ +MMMMMMMNh:` +MN/ -yh. `+hddhy+. /MM+ .sh: :NMo -sh/ -NMs `/yy: .NMy `:sh+. `mMm` ./yds- `dMMMmyo:-.````.-:oymNy:` +NMMMMMMMMMMMMMMMMms:` -+shmNMMMNmdy+:` Now attempting installation... Looking for a previous installation of SDKMAN... Looking for unzip... Looking for zip... Looking for curl... Looking for sed... Installing SDKMAN scripts... Create distribution directories... Getting available candidates... Prime platform file... Prime the config file... Installing script cli archive... * Downloading... ######################################################################## 100.0% * Checking archive integrity... * Extracting archive... * Copying archive contents... * Cleaning up... Installing script cli archive... * Downloading... ######################################################################## 100.0% * Checking archive integrity... * Extracting archive... * Copying archive contents... * Cleaning up... Set version to 5.18.2 ... Set native version to 0.4.3 ... Attempt update of interactive bash profile on regular UNIX... Added sdkman init snippet to /home/ramansah/.bashrc Attempt update of zsh profile... Updated existing /home/ramansah/.zshrc All done! You are subscribed to the STABLE channel. Please open a new terminal, or run the following in the existing one: source "/home/ramansah/.sdkman/bin/sdkman-init.sh" Then issue the following command: sdk help Enjoy!!!

Then we will follow the on-screen instructions to wrap up the installation. We will submit the the following command line in the same shell:
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
Step 3 : Veriry SDKMAN installation
After installation is completed done, then we will query its version to confirm the installation’s success.
$ sdk version
Output :
[ramansah@bckinfo ~]$ sdk version SDKMAN! script: 5.18.2 native: 0.4.3
So far, we have installed SDKMAN successfully on Fedora 38 operating system.
Conclusion
SDKMAN! is a valuable addition to a developer’s toolkit, especially for those working on diverse projects that require different SDKs and build tools. Its ease of installation, version management, and plugin system make it a powerful ally for managing development environments efficiently. Whether you’re a Java developer, polyglot programmer, or just looking to simplify your development environment, SDKMAN! can help you achieve a more streamlined and organized setup.