按照 安装 页面,使用 Coursier 安装 Scala。这将安装最新稳定版本的 sbt
。
要安装 JDK 和 sbt,请考虑使用 SDKMAN。
$ sdk install java $(sdk list java | grep -o "\b8\.[0-9]*\.[0-9]*\-tem" | head -1)
$ sdk install sbt
使用 Coursier 或 SDKMAN 有两个优点。
tgz
包。(DEB 和 RPM 包不包含这些文件以节省带宽)您必须先安装 JDK。我们推荐 **Eclipse Adoptium Temurin JDK 8**、**JDK 11** 或 **JDK 17**。
包名细节在不同的发行版中有所不同。例如,Ubuntu xenial (16.04LTS) 有 openjdk-8-jdk。Redhat 系列称之为 java-1.8.0-openjdk-devel。
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 使用 SSL 错误的报告:服务器访问错误:java.lang.RuntimeException:意外错误:java.security.InvalidAlgorithmParameterException:trustAnchors 参数必须非空 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
cert-bug 使用 PKCS12 格式。根据 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 在上述内容中下载公钥。
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.scala-lang.org.cn/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.scala-lang.org.cn/sbt-rpm.repo > sbt-rpm.repo
sudo mv sbt-rpm.repo /etc/yum.repos.d/
sudo dnf install sbt
注意:请将这些问题报告给 sbt 项目。
官方树包含 sbt 的 ebuilds。要安装最新可用的版本,请执行以下操作
emerge dev-java/sbt