2011-03-06 94 views
1

我發現我在OSX 10.6.2上安裝了兩個ruby版本,我怎樣才能卸載舊版本,並確保一切正常,路徑指向另一個?安裝了兩個ruby版本,該如何解決?

bash-3.2$ /usr/local/bin/ruby -v 
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9.7.0] 

bash-3.2$ /usr/bin/ruby -v 
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0] 


bash-3.2$ $PATH 
bash: /usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec: No such file or directory 

bash-3.2$ whereis ruby 
/usr/bin/ruby 
+0

Mac OS 10.6安裝Ruby 1.8.7以供自己使用。你可以自由使用它,但要明白,蘋果把它放在那裏是有原因的,修改或刪除它可能會破壞它所支持的應用程序,在將來某個時候你忘記了什麼時,你可能不會意識到這一點。你做到了。試試:'find/usr -name'* .rb''親自查看。如下所示,使用RVM來管理您的Ruby安裝。 – 2011-03-07 00:49:31

+0

要安裝RVM,請按照http://rvm.beginrescueend.com/rvm/install/上的說明進行操作,包括「安裝後」部分。另外,在安裝Ruby之前,輸入'rvm notes'並安裝依賴關係。 – 2011-03-07 00:54:59

回答

3

紅寶石的/usr/bin版本是系統安裝的版本,而且應該留在原處。

您在/usr/local/bin中的版本可能可以安全地刪除。它是否使用包管理器安裝(即MacPorts,Homebrew?)。如果是這樣,請使用包管理器將其刪除。

如果您編譯並手動安裝它,您可以嘗試從/usr/local/bin取出二進制文件,但你可能仍然有寶石和其他文件躺在附近(在/usr/local/lib/ruby最有可能的。)

或者,你可以離開他們通過RVM放置和管理您的Ruby環境:http://rvm.beginrescueend.com/

+0

但系統老舊,如果我想用更新的呢? – Radek 2011-03-06 22:51:32

+2

那麼,你可以讓他們都到位,但你必須確保你小心指定你的路徑。這就是我推薦RVM的原因 - 它爲您處理。 – 2011-03-06 22:56:45

1

您不必卸載舊版本。或者,您可以使用別名,並將其保存在OSX目錄的〜/ .profile文件中。

別名紅寶石= 「< path_to_ruby_version_that_you_want_to_use >」

這應該從要正確的目錄中調用Ruby。

或者,你可以使用像這個帖子在這裏建議的符號鏈接How to uninstall Ruby from /usr/local?。希望能幫助到你!

1

您應該找到您正在使用的紅寶石which ruby,而不是whereis ruby。我的whereis ruby輸出/usr/bin/ruby,但which ruby給出/Users/BinaryMuse/.rvm/rubies/ruby-1.9.2-p136/bin/ruby,因爲我使用RVM管理我的Ruby版本。由於/usr/local/bin首先在您的PATH中,which ruby可能會返回/usr/local/bin/ruby,這似乎是你想要的。快速ruby -v也可以證實這一點。

所有的說法,我第二次推薦使用RVM來管理Ruby的版本以及RVM調用gemsets的方式,這樣您就可以擁有可以一次使用的寶石的「桶」。這是一個非常強大和非常有用的工具。

相關問題