我在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的新手,我不知道如何解决这个问题 .
5 回答
好像你安装了sbt的zip版本,这很好 . 但是如果你在Ubuntu上,我建议你安装本机debian软件包 . 这就是我设法在我的Ubuntu 12.04上安装它的方法 . 在这里查看:http://www.scala-sbt.org/release/docs/Installing-sbt-on-Linux.html或者直接从here直接下载 .
在ubuntu上安装SBT的最简单方法是Typesafe提供的
deb
包 .运行以下shell命令:
wget http://apt.typesafe.com/repo-deb-build-0002.deb
sudo dpkg -i repo-deb-build-0002.deb
sudo apt-get update
sudo apt-get install sbt
而且你已经完成了!
它说
sbt
不在你的道路上 . 尝试从~/bin/sbt/bin
运行./sbt
或sbt
可执行文件验证它是否正确运行 . 还要检查您对sbt
可执行文件是否具有执行权限 . 如果这样做,那么将~/bin/sbt/bin
添加到您的路径,sbt
应该从任何地方运行 .有关在路径中添加目录的信息,请参阅question .
要验证path is set correctly在LINUX上使用
which
命令 . 输出看起来像这样:最后,要验证
sbt
正在运行,请尝试运行sbt -help
或同样 . 使用-help的输出看起来像这样:作为替代方法,您可以将SBT Extras脚本保存到名为sbt.sh的文件中,并将权限设置为可执行文件 . 然后将此文件添加到路径中,或者将其放在〜/ bin目录下 .
这里的好处是,它将根据您的项目属性下载并使用正确版本的SBT . 如果您倾向于编译从GitHub和其他项目中提取的开源项目,这是一个很好的方便 .
我的猜测是目录〜/ bin / sbt / bin不在你的PATH中 .
要执行当前目录中的程序或脚本,您需要在命令前加上./,如下所示:
这是linux中的一项安全功能,因此可以防止恶意方将系统命令(和其他程序)置于主目录中(例如) . 想象一个名为'ls'的脚本,在执行ls命令之前将你的/ etc / passwd文件通过电子邮件发送给第三方......或者执行'rm -rf . '...
也就是说,除非您需要最新源代码中的特定内容,否则您最好在他的帖子中执行范例说明,并从Typesafe存储库安装它 .