2011-10-08 52 views
19

我正在运行Snow Leopard并安装了MacPorts。然后我安装了最新的(截至撰写本文)Scala版本:使用MacPorts安装Scala之后,找不到scala命令

$ sudo port install scala29 

在此之后该怎么办?当我尝试执行斯卡拉解释,我得到:

-bash: scala: command not found 
+0

我通过官方的IzPack安装程序(从http://www.scala-lang.org/downloads)在Mac OS X上安装了Scala,并使用sbaz保持最新。我建议,特别是因为甚至次要版本可能具有小的不兼容性(例如,他们修复了一个你有解决方法的错误,现在你需要删除它)。 – Blaisorblade

+0

我有一个很好的经验与自制软件。 “brew install scala”和“brew install sbt” – Fabian

回答

7

好了,所以我其实是有,因为Scala的安装自从上次我做了改变搜索这一点。这些可执行文件应该已经从的/ opt/local/bin目录链接,使用它们没有前缀的文件夹,这样做:

cd /opt/local/bin 
sudo scala_select scala29 

现在你应该能够从任何目录下运行阶命令。

截至2013年1月,这个答案已经过时,Arnost Valicek的答案已知可行。

+0

当我执行“port location scala”时,出现“Error:port location failed:Registry error:scala not registered as installed。”。 – Hahnemann

+0

它的工作原理!非常感谢。对于我们的新手来说,在Mac上安装Scala的方式有很多,有时会令人困惑。再次感谢。 – Hahnemann

7

这似乎发生了变化。在狮子+ MacPorts的2.1.1,我必须做到以下几点:

验证此显示版本:

 
    sudo port select --list scala 

矿山表明:

 
    Available versions for scala: 
     none (active) 
     scala29 

如果没有选择它,您可以使用此命令选择它:

 
    sudo port select --set scala scala29 

打开一个新终端(确保$PATH是最新的)并验证scala现在是2.9.x.

+0

在山狮上,这是为我工作的答案。 –

1

我认为它是:

 
sudo port select --set scala scala29 
+0

我修改了我的答案,以添加scala - 我不能复制命令,我实际上运行:) – nezda

49

我使用的MacPorts 2.1.2和东西似乎又变了一下。

$ sudo port select --list scala 

显示

Available versions for scala: 
    none (active) 
    scala2.9 

命令由nezda建议工作不正常: $ sudo的端口选择--set scala2.9

给出错误

Error: The 'set' command expects two arguments: <group>, <version> 

但以下帮助

$ sudo port select --set scala scala2.9 

激活斯卡拉2.9

Selecting 'scala2.9' for 'scala' succeeded. 'scala2.9' is now active. 

检查斯卡拉再次

$ sudo port select --list scala 
Available versions for scala: 
     none 
    scala2.9 (active) 

而且我现在可以运行斯卡拉。

+0

这个答案适合我。谢谢! – olemartin

+0

这对我有用。 – dsg

+0

也适用于2.10,只需增加版本即可。 –