我下载了sbt-1.2.6.zip在Linux上使用。我解压缩并转到bin目录并输入sbt。我收到此错误:
Could not find launcher jar: ./bin/sbt-launch.jar
该文件与sbt位于同一目录中。
在sbt support page,有人告诉我:
“要获得社区支持,请在StackOverflow上使用标签“ sbt”进行询问。
注意:the other question for this error的回答为“全部删除 我的.bashrc文件中的LD_LIBRARY_PATH元素。”不确定 LD_LIBRARY_PATH用于查找jar文件,而我的LD_LIBRARY_PATH为 空,而不是“装满垃圾”。
答案 0 :(得分:2)
问题似乎仅在于您的sbt
和启动器jar的路径。您无需触摸LD_LIBRARY_PATH
。
首先,许多Linux发行版和Mac OSX(brew
)允许您直接从软件包管理器(如apt
,dnf
,yum
等)安装sbt,而无需手册下载。如果您的发行版中有可用的版本,并且版本是最新的,则可以使用一个命令来安装它。
如果失败或要手动安装,则有多个选项。您需要了解的是SBT
是一个shell运行器脚本,它依次调用了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
从here下载。
另一个选择就像您所做的那样,例如将所有内容解压缩到某个bin
目录中。如果该bin
目录位于您的PATH
中,则键入sbt
应该可以,如果不是,则必须cd
进入该目录并键入./sbt
。
从错误中您将得到您应该位于上面的目录中,即cd ..
。这是因为它正在当前目录bin
中寻找./bin/sbt-launch.jar
目录。尽管您还可以在脚本中更改该路径以提供完整路径或相对于主目录的路径,因此它始终有效,但是如果sbt
在路径上,则不必这样做。>
最后,您要确保sbt
上有PATH
脚本,因为您要从项目目录运行此命令。从此开始,如果有任何错误,请发表。
答案 1 :(得分:0)
如果您已经使用 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