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 有兩個優點。

  1. 它們會安裝 Eclipse Adoptium 的官方封裝,而不是 「神秘肉 OpenJDK 建置」
  2. 它們會安裝包含所有 JAR 檔案的 sbt 的 tgz 封裝。(DEB 和 RPM 套件不會為了節省頻寬)

安裝 JDK 

您必須先安裝 JDK。我們建議使用 Eclipse Adoptium Temurin JDK 8JDK 11JDK 17

套件名稱的詳細資訊因發行版本而異。例如,Ubuntu xenial (16.04LTS) 具有 openjdk-8-jdk。Redhat 系列將其稱為 java-1.8.0-openjdk-devel

從通用套件安裝 

下載 ZIPTGZ 套件並解壓縮。

Ubuntu 和其他 Debian 型發行版 

DEB 套件由 sbt 官方支援。

Ubuntu 和其他 Debian 型發行版使用 DEB 格式,但通常您不會從本機 DEB 檔案安裝軟體。相反地,它們隨附命令列 (例如 apt-getaptitude) 或圖形使用者介面 (例如 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 將 PKCS12 格式用於 /etc/ssl/certs/java/cacerts cert-bug。根據 https://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 可能無法在 Ubuntu Bionic LTS (18.04) 上運作,因為它使用的是有問題的 GnuPG,因此我們建議使用 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.dev.org.tw/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.dev.org.tw/sbt-rpm.repo > sbt-rpm.repo
sudo mv sbt-rpm.repo /etc/yum.repos.d/
sudo dnf install sbt

注意:請將這些問題回報給 sbt 專案。

Gentoo 

官方樹狀結構包含 sbt 的 ebuilds。若要安裝最新的可用版本,請執行

emerge dev-java/sbt