在Ubuntu上安装sbt

我在Ubuntu上安装了sbt。

:~/bin/sbt/bin$ ls classes sbt sbt-launch.jar target jansi.jar sbt.bat sbt-launch-lib.bash win-sbt 

然而,每当我尝试启动sbt(从sbt所在的同一目录),它不起作用:

 No command 'sbt' found, did you mean: Command 'skt' from package 'latex-sanskrit' (universe) Command 'sb2' from package 'scratchbox2' (universe) Command 'sbd' from package 'cluster-glue' (main) Command 'mbt' from package 'mbt' (universe) Command 'sbmt' from package 'atfs' (universe) Command 'lbt' from package 'lbt' (universe) Command 'st' from package 'suckless-tools' (universe) Command 'sb' from package 'lrzsz' (universe) 

我是新来的Linux,我不知道如何解决这个问题。

好像你安装了sbt的zip版本,这很好。 但是我build议你在Ubuntu上安装本地debian软件包。 这就是我在Ubuntu 12.04上安装它的方法。 看看这里: http : //www.scala-sbt.org/release/docs/Installing-sbt-on-Linux.html或直接从这里直接下载。

在Ubuntu上安装SBT最简单的方法是Typesafe提供的deb包。

运行以下shell命令:

  1. wget http://apt.typesafe.com/repo-deb-build-0002.deb
  2. sudo dpkg -i repo-deb-build-0002.deb
  3. sudo apt-get update
  4. sudo apt-get install sbt

你完成了!

没有find命令sbt

这是说, sbt不在你的道路上。 尝试从~/bin/sbt/binsbt可执行文件validation其运行正确的任何位置运行./sbt 。 同时检查你是否拥有对sbt可执行文件的执行权限。 如果这个工作,然后将~/bin/sbt/bin到你的path, sbt应该从任何地方运行。

看到这个问题关于添加一个目录到你的path。

要validationpath是否正确设置,请使用LINUX上的which命令。 输出结果如下所示:

 $ which sbt /usr/bin/sbt 

最后,要validationsbt正在工作,请尝试运行sbt -help或同样。 带有-help的输出将如下所示:

 $ sbt -help Usage: sbt [options] -h | -help print this message ... 

作为替代方法,您可以将SBT Extras脚本保存到名为sbt.sh的文件中,并将权限设置为可执行文件。 然后将这个文件添加到你的path,或者把它放在你的〜/ bin目录下。

这里的奖金是根据你的项目属性,下载和使用正确版本的SBT。 如果你倾向于编译你从GitHub和其他的开源项目,这是一个很好的方便。

我的猜测是〜/ bin / sbt / bin目录不在PATH中。

要执行当前目录中的程序或脚本,您需要在命令前加上./,如下所示:

 ./sbt 

这是linux中的一个安全特性,所以为了防止恶意方在你的主目录中丢弃一个文件(例如)来覆盖系统命令(和其他程序)。 设想一个名为“ls”的脚本,它在执行ls命令之前将你的/ etc / passwd文件发送给第三方。或者执行“rm -rf”的脚本。

也就是说,除非你需要从最新的源代码中获得特定的东西,否则你最好在他的文章中说什么,并从Typesafe仓库安装它。