【Scala】SBT ~ 環境構築編 ~

■ はじめに

EC2 上でSDKMANを使って、SBTをインストールしたのだが
ログオフ後に使えなくなっていた。
SDKMAN以外の方法がないかを模索している。

 そこで、今回は、
SBT (Simple Build Tool) の構築手順が色々あるので、 
整理しておく。

目次

【0】インストール方法
 1)前提条件
【1】SDKMAN でインストール
【2】ZIP/TAR でインストール
 補足:update-alternatives
【3】apt-get でインストール (Ubuntu)
【4】インストーラ でインストール (Windows)

【0】インストール方法

* 公式サイトで展開されている
 => 【1】以降は、その中で実際に試した方法。

https://www.scala-sbt.org/1.x/docs/ja/Setup.html
Linux
https://www.scala-sbt.org/1.x/docs/ja/Installing-sbt-on-Linux.html
Windows
https://www.scala-sbt.org/1.x/docs/ja/Installing-sbt-on-Windows.html

1)前提条件

* JDK がインストールされていること
 (JDK 8/JDK 11/JDK 17 を推奨)

LinuxJDK を設定する
https://dk521123.hatenablog.com/entry/2017/08/01/234900

【1】SDKMAN でインストール

* 以下の関連記事を参照のこと

SDKMAN ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/08/13/000000

【2】ZIP/TAR でインストール

https://www.scala-sbt.org/1.x/docs/ja/Installing-sbt-on-Linux.html#%E3%83%A6%E3%83%8B%E3%83%90%E3%83%BC%E3%82%B5%E3%83%AB%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%8B%E3%82%89%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

より抜粋
~~~~~
ユニバーサルパッケージからのインストール 
ZIP か TGZ をダウンロードしてきて解凍する。
~~~~~

Ubuntu

# Step1: ダウンロード
# curl -OL {ダウンロードするURL}
curl -OL https://github.com/sbt/sbt/releases/download/v1.9.8/sbt-1.9.8.tgz

# Step2: 解凍
sudo tar xzvf sbt-1.9.8.tgz -C /usr/local/

# Step3: シンボリックリンクの作成・登録
# sudo update-alternatives --install  <作成するシンボリックのパス> <グループ名> <実体へのパス> <優先度>
sudo update-alternatives --install /usr/bin/sbt sbt /usr/local/sbt/bin/sbt 100

# 確認
sbt --script-version
sbt --version
update-alternatives --display sbt

補足:update-alternatives

* シンボリックリンクに関する情報を
 作成/削除/管理/表示するためのコマンド

https://graziegrazie.hatenablog.com/entry/2015/11/14/101050
https://vinelinux.org/docs/vine6/cui-guide/update-alternatives.html

Option Explanation Memo
--install シンボリックリンクの作成・登録 update-alternatives --install /usr/bin/sbt sbt /usr/local/sbt/bin/sbt 100
--set シンボリックリンクの登録 update-alternatives --set ruby /usr/bin/ruby2.3
--display シンボリックリンクの詳細情報表示 update-alternatives --display java

【3】apt-get でインストール (Ubuntu)

sbt Reference Manual — Linux への sbt のインストール

echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo apt-key add
sudo apt-get update
sudo apt-get install sbt

【4】インストーラ でインストール (Windows)

https://www.scala-sbt.org/release/docs/Installing-sbt-on-Windows.html

から sbt をダウンロード(※)し、インストールする

※ 今回の場合、「sbt-1.8.2.msi」

確認

$ sbt --script-version
1.8.2

参考文献

Ubuntu(Debian系Linux)にsbtをインストールする方法|Scalapedia
Windowsにsbtをインストールする方法|Scalapedia

関連記事

SBT ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/03/22/000000
Scala ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/03/12/184331
Scala ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/03/10/193805
Scala ~ 環境構築編 / IntelliJ IDEA in WSL ~
https://dk521123.hatenablog.com/entry/2023/06/10/034839
SBT ~ Proxy環境下でSBTを使用する ~
https://dk521123.hatenablog.com/entry/2023/11/23/000000
SBT ~ リポジトリ先を変更・追加するには ~
https://dk521123.hatenablog.com/entry/2024/01/12/191252
SDKMAN ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/08/13/000000
LinuxJDK を設定する
https://dk521123.hatenablog.com/entry/2017/08/01/234900
curl コマンド
https://dk521123.hatenablog.com/entry/2017/12/05/233100