我下载了sbt-1.2.6.zip以便在Linux上使用。我拉开它的拉链,走到垃圾箱目录,键入sbt。我得到这个错误:
Could not find launcher jar: ./bin/sbt-launch.jar
该文件与sbt位于同一目录中。
我在sbt支持页面上被告知:
要获得社区支持,请在StackOverflow上询问标签为"sbt"。
注意:这个错误的另一个问题的答案是"删除所有我的.bashrc文件中的LD_LIBRARY_PATH元素"。不确定LD_LIBRARY_PATH用于查找jar文件,而我的LD_LIBRARY_PATH是空的,而不是"装满垃圾"。
问题似乎只与sbt
和启动器jar的路径有关。您不需要触摸LD_LIBRARY_PATH
。
首先,许多linux发行版和Mac OSX(brew
(允许您直接从包管理器(如apt
、dnf
、yum
等(安装sbt,而无需手动下载。如果你的发行版有它,并且版本是最新的,你可以用一个命令来安装它
如果失败或您想手动安装,则有多种选择。您需要了解的是,SBT
是一个shell runner脚本,它反过来调用jar文件。
一种安装方法是使用这样的脚本:
#!/bin/bash
# Downloads the latest version of SBT runner script which in turn downloads
# SBT launcher JAR and provides lots of convenience methods.
curl -s https://raw.githubusercontent.com/paulp/sbt-extras/master/sbt > sbt && chmod 0755 sbt
从这里下载。
另一个选项与您所做的类似,是将所有内容解压缩到某个bin
目录。如果bin
目录在PATH
中,那么键入sbt
应该有效,如果不是,那么您必须将cd
放入该目录并键入./sbt
。
根据您得到的错误,您应该位于之上的目录中,即cd ..
。这是因为它在您当前的目录./bin/sbt-launch.jar
中查找bin
目录。尽管您也可以在脚本中更改该路径,为其提供完整路径或相对于主目录的路径,因此它总是有效的,但如果sbt
在您的路径上,您可能不必这样做。
最后,您需要确保sbt
脚本位于PATH
上,因为您希望从项目目录中运行此命令。从这个开始,如果你有任何错误,请发布。
如果已使用brew
安装sbt
,则sbt-launch.jar
位于以下位置
➜ ~ ls /usr/local/Cellar/sbt/1.4.7/libexec/bin/sbt-launch.jar
/usr/local/Cellar/sbt/1.4.7/libexec/bin/sbt-launch.jar
如果您像我一样使用brew
安装特定版本的sbt
,那么它位于下面这样的文件夹中-
➜ ~ ls /usr/local/Cellar/sbt@0.13/0.13.18_1/libexec/bin/sbt-launch.jar
/usr/local/Cellar/sbt@0.13/0.13.18_1/libexec/bin/sbt-launch.jar
如您所见,sbt-launch.jar
安装在<sbt-home>/libexec/bin/sbt-launch.jar
文件夹中。
如果您手动安装了sbt
,但现在忘记了安装sbt
的文件夹,那么您可以通过以下命令列出该文件夹-
➜ ~ which sbt
sbt: aliased to /usr/local/Cellar/sbt@0.13/0.13.18_1/bin/sbt