2011-10-08 54 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,只需增加版本即可。 –