2011-11-02 35 views
0

我遇到了Ruby腳本找到合適的寶石的問題。看起來這與在我的系統上安裝多個Ruby有關。 OS X已經提供了Ruby,但它不是最新的。我從雪豹升級到獅子,突然有RubyGems的文件夾中的所有這些實例:多次安裝Ruby - 如何解決在OS X

/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems 
/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems 
/Library/Ruby/Gems/1.8/gems/rubygems-update-1.8.11/lib/rubygems 
/Library/Frameworks/MacRuby.framework/Versions/0.10/usr/lib/ruby/1.9.2/rubygems 
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems 
/Users/[user_name]/.rvm/repos/ruby/lib/rubygems 

gem install安裝了圖形寶石和我似乎無法找到它在這些位置中。 IRB發現它時,我做了require但Ruby腳本保存並運行CLI產生錯誤:

'require': no such file to load

另一條線索是,運行rails server時,我經常看到/Library/Ruby/Gems/1.8/gems/

但圖寶石輸出似乎也不在這條道路上。

所以,是一個大混亂。任何幫助安全地簡化和刪除冗餘實例將不勝感激。

更新:

之所以能夠跟蹤安裝寶石: /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/lib/ruby/user-gems/1.8/gems

所以我只是刪除一切與rm -rf?我討厭這樣做,並造成各種各樣的依賴問題。最終,我想結束一個乾淨的系統只有一個紅寶石安裝,但我不能消滅我的硬盤驅動器。

+0

刪除了ruby-on-rails標籤,添加了osx標籤。 – mydoghasworms

回答

2

我建議你使用rvm來切換紅寶石和寶石。將一個.rvmrc放到你的項目文件夾中,它會自動爲你切換一個「gemset」。

一般的共識是離開紅寶石版本的操作系統,因爲它是使用rvm或rbenv來切換紅寶石版本。

它看起來像你有rvm安裝以及以不同的方式安裝多個ruby安裝。

rvm是否能夠正常工作,如果是這樣,您可以忽略其他ruby安裝。

+0

但是它會在其他文件夾中找到已安裝的寶石嗎? (請參閱上面的編輯,我發現用戶安裝寶石的位置)。另外我該如何自動切換gemset?什麼需要進入.rvmrc?在.rvmrc中輸入 – kakubei

+0

,你就像'rvm use gemsetx @ ruby​​1xx'一樣放入一行,你必須添加那個ruby然後添加一個gemset到它。 rvm教程應該可以幫助你做到這一點。 –

+0

是的寶石是一個特定的紅寶石版本的空白石板。 –