/sdkman

A tool for managing parallel versions of multiple Software Development Kits

Primary LanguageGoApache License 2.0Apache-2.0

sdkman

Build Status release

cli stands for client!

This is unofficial client of SDKMAN! which is a tool for managing parallel versions of multiple Software Development Kits like jdk, gradle, scala and etc.

Installation

Windows & scoop

scoop bucket add palindrom615 https://github.com/palindrom615/scoop-bucket
scoop install sdkman

macOS & homebrew

brew tap palindrom615/homebrew-tap
brew install sdkman

Arch linux & aur

with yay:

yay -S sdkman

without yay:

git clone https://aur.archlinux.org/sdkman
cd sdkman
makepkg -si

with go

If go is already installed on your computer, one line is enough to get executable:

go install --mod=mod github.com/palindrom615/sdkman

Activation

Windows

For setting up permanent enviornment variables, execute below after install sdks.

Invoke-Expression (sdk export windows)

powershell

For using only on powershell, add line below in your $PROFILE

Add-Content $Profile "Invoke-Expression (sdk export posh)"

bash, fish, zsh

# You should add "eval $(sdk" export bash)" on your .bashrc file
echo "eval \$(sdk export bash)" >> ~/.bashrc
echo "eval \$(sdk export zsh)" >> ~/.zshrc
echo "eval (sdk export fish)" >> ~/.config/config.fish

Usage

Install SDK

sdk install java
sdk install gradle@6.0.1

Show list of SDK

sdk list java

Set default version of SDK

# should be installed first!
sdk use java@8.0.242-amzn

Show currently using SDKs

sdk current