【Scala】SDKMAN ~ 入門編 ~

■ はじめに

小ネタ。

https://dk521123.hatenablog.com/entry/2023/08/24/002539

でやった「sbt run による引数設定の仕方」を分冊。

目次

【1】SDKMAN
【2】インストール
 1)Linux
 z)トラブルシュート
【3】各種インストール
 1)Java
 2)sbt
【4】アンインストール
 1)Linux

【1】SDKMAN

* Java/ScalaなどのJVMの開発環境を作成するためのツール
* バージョンの変更等も簡単に行える

【2】インストール

1)Linux

https://sdkman.io/install

curl -s "https://get.sdkman.io" | bash

source "$HOME/.sdkman/bin/sdkman-init.sh"

# To confirm
sdk version

z)トラブルシュート

* 「curl -s "https://get.sdkman.io" | bash」実行後、
 以下のように失敗する時がある

エラー内容

Looking for unzip...
Not found.
======================================================================================================
 Please install unzip on your system using your favourite package manager.

 Restart after installing unzip.
======================================================================================================

'exit 1': command failed with exit code 1.

原因

* unzip / zip がインストールされていなかったため

対処案

sudo apt install unzip zip
した後に再実行する

【3】各種インストール

1)Java

# Java11を入れたい場合
sdk install java $(sdk list java | grep -o "\b11\.[0-9]*\.[0-9]*\-tem" | head -1)

# Java8を入れたい場合
# sdk install java $(sdk list java | grep -o "\b8\.[0-9]*\.[0-9]*\-tem" | head -1)

# To confirm
java --version

2)sbt

sdk install sbt

sbt --version

【4】アンインストール

1)Linux

* 基本的に、以下の公式ドキュメントの「Uninstallation」に記載されている

https://sdkman.io/install

[1] デフォルトでインストールしている場合は、「ls -al」で隠しフォルダ含めてみておく
~~~~
$ cd ~
$ ls -al

.bashrc
.bash_profile
...
.sbt
.sdkman
~~~~

[2] 関連する隠しフォルダを削除
~~~~
rm -rf .sdkman
rm -rf .sbt
~~~~

[3] .bashrc, .bash_profile, .profile, ~/.zshrc などに以下の記述があれば削除
~~~~
# ↓この記述があれば削除
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
[[ -s "/home/your-user/.sdkman/bin/sdkman-init.sh" ]] && source "/home/your-user/.sdkman/bin/sdkman-init.sh"
~~~~

確認方法
https://zenn.dev/y_u_t_a/articles/e7dd725c868b7b

# を参考に行う。
# あれば、上記のサイトを参考に対処(今回はなかった)

# PATH に SDKMAN 関連のパスが含まれていないこと
echo $PATH

# JAVA_HOME が設定されていないこと
echo $JAVA_HOME

# SDKMAN 関連の環境変数が残っていないこと
export -p | grep -i SDKMAN

# 以下のコマンドが無効であること
sdk
java
kotlin

関連記事

SBT ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2024/01/13/002637
Scala ~ 環境構築編 / IntelliJ IDEA ~
https://dk521123.hatenablog.com/entry/2023/08/24/002539
VirtualBox のインストール ~ 2023年版 ~
https://dk521123.hatenablog.com/entry/2023/09/29/000000