2010-11-05 89 views
2

我更新了我的紅寶石版本1.9.2,但是當我啓動終端並運行ruby -v它顯示1.8.7。默認紅寶石版本在Mac雪豹

我可以切換到紅寶石1.9.2的唯一方法是在源碼中寫入源碼~/.profile

我該如何製作1.9.2默認的ruby版本?

回答

4

將「source〜/ .profile」放入「.bashrc」文件中,以便每次創建shell時都會運行該文件。

或者可選地,use RVM。它使幾個共存的紅寶石變得輕而易舉。

+0

RVM爲贏! – Jeff 2010-11-05 19:50:02

+0

使用RVM,不要覆蓋默認的Ruby。 – 2010-11-05 20:12:19

+0

對於RVM而言,這太棒了! – malvim 2010-11-05 22:42:19

0

如果'source〜/ .profile'正在工作,請嘗試退出並重新啓動終端,或者只是打開一個新的終端窗口。如果您使用的是與更新紅寶石相同的終端窗口,它仍然具有舊的配置文件。您可能不希望從.bashrc獲取您的配置文件。如果您在運行.bashrc後更改別名,奇怪的事情可能最終發生在您的$ PATH變量中,因爲您將兩次更改它。

如果你的.profile中的相關行使別名'ruby'命令有效,它應該可以工作。我只是將配置文件中的ruby命令更改爲'別名ruby =「ruby1.9」並打開了一個新終端。 ruby -v現在返回紅寶石1.9.1p376(2009-12-07修訂版26041)[i386-darwin10]

5

如果您在不使用RVM的情況下安裝了新的Ruby,修改PATH以允許系統找到它是很重要的。您需要確保/usr/local/bin在您的路徑中的/usr/bin之前。您可以通過在命令行輸入echo $PATH進行檢查。如果沒有,那麼加上一行到你的~/.bash_profile像:

export PATH=/usr/local/bin:$PATH 

這樣的OS將搜索默認的系統安裝的應用程序之前,本地安裝的應用程序。打開一個新的shell並鍵入which ruby,你應該看到你的系統正在指向新的Ruby。儘管繼續閱讀,因爲了解會話初始化對於設置開發環境非常重要。

當使用BASH作爲您的shell時,您可以使用~/.bashrc,~/.bash_profile和/或~/.profile作爲啓動腳本來初始化您的會話。根據shell的啓動方式,其中一個將被調用,但通常是~/.bash_profile,然後是~/.profile

爲了讓我的生活更加簡單,我把我的啓動命令放在~/.bash_profile中,然後通過在其中放入一個源語句指向~/.bashrc。因此,將您的RVM初始化命令放在~/.bash_profile中,並確保~/.bashrc指向它,默認情況下它應該執行此操作。

從命令行執行man bash,並在INVOCATION部分中閱讀有關內容或在Wikipedia's BASH section中閱讀有關內容。

以供參考,這是命令韋恩說,把作爲LAST可執行文件中得到RVM初始化:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.

RVM的Installation頁面有關於此次在「發佈的詳細信息安裝「和」安裝疑難解答「部分。

RVM工作得很好,設置起來很簡單。我所看到的最大的問題是沒有在啓動腳本中獲得RVM調用的人或者使用了一個錯誤的腳本來保持命令不被執行。如果你無法實現它,那麼你可以考慮將你的啓動腳本放入一個pastie頁面或將它添加到你原來的問題中,讓我們看看發生了什麼。