2012-01-04 56 views

回答

81

我建議你看看rvm。 然後您可以將其設置爲默認值rvm use 1.9.3 --default

但是,如果您對自制軟件安裝感到滿意。

然後,只需更改目錄的優先級在PATH

這裏是我的/ etc /路徑

# homebrews should always take precedence 
/usr/local/bin 

# the default stack 
/usr/bin 
/bin 
/usr/sbin 
/sbin 

這是很重要的通常爲自制,否則混帳,紅寶石,pg_admin的系統版本, ......將全部用來代替brew版本。

如果你說which -a ruby你會看到在PATH

例如,所有已安裝的紅寶石和優先級。

$ which -a ruby 
/Users/matthew/.rvm/rubies/ruby-1.9.3-p0/bin/ruby 
/Users/matthew/.rvm/bin/ruby 
/usr/bin/ruby 


更新:我現在不認爲你應該改變 /etc/paths

相反,你需要檢查的.profile.bashrc,或.bash_login這被加載在你的shell,並且只需添加/usr/local/bin到你的路徑。我只有.profile。如果您的主目錄中沒有這些文件,您可以創建該文件。

# homebrews should always take precedence 
export PATH=/usr/local/bin:$PATH 
+0

最後我選rbenv,以前也用過rvm。 – 2012-01-05 09:25:54

+0

很酷。無論如何,我建議你對/ etc/path進行更改。我曾經得到奇怪的錯誤(例如,我會'升級git',但版本沒有變化,原來我從來沒有使用brew版本) – 2012-01-05 13:39:14

+19

謝謝你提供了一個實際的答案,而不僅僅是說「use RVM」。並不是每個人都可以使用RVM,而且我討厭當頂級答案告訴OP做一些他們沒有要求做的事時。 – bricker 2012-07-14 06:51:31

38

如果您想使用自制安裝1.9.3,您可以按照下列步驟操作:

$ brew update 
$ brew install rbenv 
$ brew install ruby-build 

一旦你有rbenv和紅寶石建造安裝,可以運行下面的命令安裝Ruby 1.9.3。

$ rbenv install 1.9.3-p125 

現在,如果你想默認使用1.9.3,您可以運行以下命令:

$ rbenv global 1.9.3-p125 
+0

源鏈接現已停用 – 2015-02-17 19:47:20

+2

在OS X 10.11以上不起作用。系統繼續使用舊版本,而不是使用rbenv install 1.9.3-p125/rbenv global 1.9.3-p125 – 2016-08-21 21:01:39

+0

「rbenv global 1.9.3-p125」安裝/設置的默認版本 - 此行保存了我的晚。謝謝! – tieorange 2016-10-12 21:20:10

-1

就像爲別人尋找一個答案,這另一種方法 - 你可以在你的.bash_profile e中設置一個別名。摹

ruby="/usr/local/bin/ruby" 

這是我得到了解決這個問題

37

簡短的回答:

通過自制軟件安裝Ruby後,只是這樣做:

brew link --overwrite ruby 

,並重新啓動或重新開啓終端  


長的答案

所以,我沒有使用自制

brew install ruby 

所安裝精細紅寶石的正常安裝,但它仍然使用系統默認的紅寶石。 我做驗證:

which ruby 
#/usr/bin/ruby 

所以按照馬修·魯迪的建議,我檢查順序的我的/ etc /路徑,一切都很好。

於是,我決定做:

which -a ruby 
#/usr/bin/ruby 
#usr/local/bin/ruby 

因此沒有被打破這樣。 試圖再次使用自制方法重新安裝紅寶石,然後我發現它。

家釀提到:

Warning: ruby-2.3.1 already installed, it's just not linked 

所以不得不這樣做:

brew link --overwrite ruby 
+10

不要忘記重新啓動iTerm實例,否則'ruby --version'會顯示一個過時的版本。 – dialex 2016-08-22 09:11:10

4

我有類似的情況。我使用Homebrew安裝了ruby。 which -a ruby給了我下面的輸出:

#usr/local/bin/ruby 
#/usr/bin/ruby 

這意味着,新安裝的版本應該被使用,但仍然ruby --version返回的舊系統版本。

我退出了終端(Cmd + Q),重啓後ruby --version返回了正確的版本。因此,請確保在安裝之後重新啓動終端,然後嘗試其他任何(可能不必要的)修復。

+0

謝謝。這個對我有用。 – WenT 2016-07-14 17:30:28

0

在OSX則可以使用更改路徑:

須藤納米/等/路徑

,然後添加路徑或更改順序。