2010-06-15 164 views
6

當我試圖清理我的rails版本的sudo gem cleanup rails寶石::安裝錯誤

我收到以下錯誤:

Cleaning up installed gems... 
Attempting to uninstall rails-2.3.5 
Unable to uninstall rails-2.3.5: 
Gem::InstallError: cannot uninstall, check `gem list -d rails` 
Attempting to uninstall rails-1.2.6 
Unable to uninstall rails-1.2.6: 
Gem::InstallError: cannot uninstall, check `gem list -d rails` 

gem list -d rails結果:

rails (2.3.8, 2.3.5, 1.2.6) 
    Author: David Heinemeier Hansson 
    Rubyforge: http://rubyforge.org/projects/rails 
    Homepage: http://www.rubyonrails.org 
    Installed at (2.3.8): /Library/Ruby/Gems/1.8 
       (2.3.5): /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 
       (1.2.6): /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 

    Web-application framework with template engine, control-flow layer, 
    and ORM. 

任何一個知道什麼是錯誤?

+0

的http://stackoverflow.com/questions/1000731/getting-rid-of-ruby-gems-that-wont-die – x1a4 2010-06-15 21:39:38

回答

13

經過一段長時間的搜索後發現原因是因爲路徑不存在。無法卸載,因爲系統不搜索/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

在粒度級別上,而不是gem cleanup rails,您可以簡單地使用卸載命令和類型:

gem uninstall rails -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

,那麼你可能打與不存在的路徑中的另一個問題,在這一點上,你應該用命令創建一個目錄:

mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/bin

現在所有的卸載程序都應該正常運行。我建議做一個乾淨的寶石通過執行以下功能重新安裝:

創建所有現有的gem的列表

gem list --no-versions | sed -e '/^(*|$)/d' > installed_gems

卸載所有現有的寶石

gem list | cut -d" " -f1 | xargs gem uninstall -aIx

重新安裝最新的寶石

cat installed_gems | xargs sudo gem install

+0

非常有益的欺騙。要運行卸載腳本,儘管我必須在添加-i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8之間進行切換,直到所有的gem被成功刪除。 – 2010-09-26 16:16:37

+0

我用過:gem list --no-versions | xargs sudo gem uninstall -aIx -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 **或** gem list --no-versions | xargs sudo gem uninstall -aIx -i /Library/Ruby/Gems/1.8取決於Gem的安裝位置。 – terrace 2011-05-13 02:14:39

+0

我剛剛花了最後一小時尋找不同的替代品,這是爲我工作的。順便說一句,我沒有使用SUDO。上帝保佑你,如果可以的話,我會給你50票 – 2012-01-30 17:01:49