1. Linux への sbt のインストール

Linux への sbt のインストール 

**cs setup** で sbt をインストールする 

インストール ページに従って、Coursier を使用して Scala をインストールします。 これにより、最新安定版の `sbt` がインストールされます。

SDKMAN からインストールする 

JDK と sbt の両方をインストールするには、SDKMAN の使用を検討してください。

$ sdk install java $(sdk list java | grep -o "\b8\.[0-9]*\.[0-9]*\-tem" | head -1)
$ sdk install sbt

Coursier または SDKMAN を使用すると、2 つの利点があります。

  1. これらは、“謎の OpenJDK ビルド“ とは異なり、Eclipse Adoptium による公式パッケージをインストールします。
  2. これらは、すべての JAR ファイルを含む `tgz` パッケージの sbt をインストールします。 (DEB および RPM パッケージは帯域幅を節約しません)

JDK のインストール 

最初に JDK をインストールする必要があります。 **Eclipse Adoptium Temurin JDK 8**、**JDK 11**、または **JDK 17** をお勧めします。

パッケージ名に関する詳細は、ディストリビューションごとに異なります。 たとえば、Ubuntu xenial (16.04LTS) には openjdk-8-jdk があります。 Redhat ファミリはそれを java-1.8.0-openjdk-devel と呼んでいます。

ユニバーサルパッケージからインストールする 

ZIP または TGZ パッケージをダウンロードして展開します。

Ubuntu およびその他の Debian ベースのディストリビューション 

DEB パッケージは、sbt によって公式にサポートされています。

Ubuntu およびその他の Debian ベースのディストリビューションは DEB 形式を使用しますが、通常はローカルの DEB ファイルからソフトウェアをインストールしません。 代わりに、コマンドライン用 (例: `apt-get`、`aptitude`) とグラフィカルユーザーインターフェース用 (例: Synaptic) の両方のパッケージマネージャーが付属しています。 ターミナルから次を実行して `sbt` をインストールします (これを行うにはスーパーユーザー権限が必要なため、`sudo` を使用します)。

sudo apt-get update
sudo apt-get install apt-transport-https curl gnupg -yqq
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 -H gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/scalasbt-release.gpg --import
sudo chmod 644 /etc/apt/trusted.gpg.d/scalasbt-release.gpg
sudo apt-get update
sudo apt-get install sbt

パッケージマネージャーは、設定された多数のリポジトリをチェックして、インストール用に提供するパッケージを探します。 パッケージマネージャーがチェックする場所にリポジトリを追加するだけです。

`sbt` がインストールされると、パッケージキャッシュを更新した後、`aptitude` または Synaptic でパッケージを管理できるようになります。 また、システム設定 -> ソフトウェアとアップデート -> その他のソフトウェアのリストの一番下に、追加されたリポジトリが表示されるはずです。

Ubuntu Software & Updates Screenshot

**注記:** Ubuntu で SSL エラーが発生したという報告があります: `Server access Error: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty url=https://repo1.maven.org/maven2/org/scala-sbt/sbt/1.1.0/sbt-1.1.0.pom`。これは、OpenJDK 9 が `/etc/ssl/certs/java/cacerts` に PKCS12 形式を使用していることが原因のようです cert-bughttps://stackoverflow.com/a/50103533/3827 によると、Ubuntu Cosmic (18.10) では修正されていますが、Ubuntu Bionic LTS (18.04) はまだリリースを待っています。 回避策については、回答を参照してください。

**注記:** `sudo apt-key adv --keyserver hkps://keyserver.ubuntu.com:443 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823` は、バグのある GnuPG を使用しているため、Ubuntu Bionic LTS (18.04) では機能しない場合があります。そのため、上記の公開鍵をダウンロードするには、Web API を使用することをお勧めします。

Red Hat Enterprise Linux およびその他の RPM ベースのディストリビューション 

RPM パッケージは sbt によって公式にサポートされています。

Red Hat Enterprise Linux およびその他の RPM ベースのディストリビューションは RPM 形式を使用します。 ターミナルから次を実行して `sbt` をインストールします (これを行うにはスーパーユーザー権限が必要なため、 `sudo` を使用します)。

# remove old Bintray repo file
sudo rm -f /etc/yum.repos.d/bintray-rpm.repo
curl -L https://sbt.dokyumento.jp/sbt-rpm.repo > sbt-rpm.repo
sudo mv sbt-rpm.repo /etc/yum.repos.d/
sudo yum install sbt

Fedora (31 以降) では、`sbt-rpm.repo` を使用します。

# remove old Bintray repo file
sudo rm -f /etc/yum.repos.d/bintray-rpm.repo
curl -L https://sbt.dokyumento.jp/sbt-rpm.repo > sbt-rpm.repo
sudo mv sbt-rpm.repo /etc/yum.repos.d/
sudo dnf install sbt

**注記:** これらの問題については、sbt プロジェクトに報告してください。

Gentoo 

公式ツリーには、sbt の ebuild が含まれています。 利用可能な最新バージョンをインストールするには、次を実行します。

emerge dev-java/sbt