2011-05-23 53 views
13

我有一些麻煩,刪除耙寶石版本0.9。我設法運行了gem uninstall rake,我相信這已經刪除了它。但是,回到寶石名單仍然表明它仍然存在。清除耙0.9故障0.9

運行gem env

GEM PATHS: 
    /home/sean/.rvm/gems/ruby-1.9.2-p180 
    /home/sean/.rvm/gems/[email protected] 

我走進@global目錄並手動刪除它在那裏,但仍然在某個地方依然存在。我運行gem list時可以看到它。 0.9耙寶石導致我的Rails 3.0.7應用程序的問題。

我跑gem list -d rake

rake (0.9.0, 0.8.7) 

Installed at 
(0.9.0): /home/sean/.rvm/gems/[email protected] 
(0.8.7): /home/sean/.rvm/gems/ruby-1.9.2-p180 

我沒有看到寶石目錄何事[email protected]

+0

您在應用中使用RVM gemset嗎? – 2011-05-23 01:42:34

+0

我認爲有一個文件包含已安裝的寶石列表,但沒有正確清理。嘗試做一個'grep -ci rake | grep -v:0 $'並查看包含對它的引用的文件。一個只是一個列表。從列表中刪除'耙子',你應該很好。我記不起要檢查的文件 - 已經過了幾個星期,但我必須在幾臺機器上完成。 – 2011-05-23 04:24:04

回答

0

你嘗試使用「寶石清理」腳本?

+0

我試過'寶石清理',它仍然出現在'寶石列表'中。但是我沒有在寶石路徑目錄中看到它。 – sean 2011-05-23 01:17:17

+0

只有一個版本的Ruby安裝? – 2011-05-23 01:22:02

+0

是的只有一個,1.9.2。 – sean 2011-05-23 01:23:54

3

在終端輸入:gem uninstall rake,然後在出現提示時選擇版本0.9.0。

那麼你的Rails應用程序修改您的Gemfile:

gem 'rake', '0.8.7' 

然後在終端運行:

bundle install 

這些步驟應該可以解決您所遇到的問題。升級到Rails 3.1時,請再次升級爲耙。

2

如果你使用rvm,你會在全局gemset中「免費」安裝rake 0.9,這使得它很難(不可能?)正常卸載。 gem uninstall rake是成功的,但實際上並沒有刪除耙0.9。我必須爲REE和1.9.2手動執行此操作。

我編輯的耙可執行腳本(找到which rake),並增加了一個:最後一行之前

puts "Gem.bin_path: #{Gem.bin_path('rake', 'rake', version)} 

...。這打印(在我的系統上): Gem.bin_path:~/.rvm/gems/[email protected]/gems/rake-0.9.0/bin/rake

要刪除0.9 cd到〜/ .rvm/gems/ree-1.8.7-2011.03並手動刪除所有rake-0.9文件(寶石,規格是我相信的那些)。

2

我遇到了同樣的問題(需要rake 0.8.7,但獲得0.9.0免費「與rvm)。最初gem list -d rake給了以下的輸出:

 
rake (0.9.0, 0.8.7) 
    Installed at (0.9.0): ~/.rvm/gems/[email protected] 
       (0.8.7): ~/.rvm/gems/[email protected]_gemset 

切換到與rvm use @global全球寶石給了我這樣的輸出:

 
rake (0.9.0) 
    Installed at: ~/.rvm/gems/[email protected] 

所以,我只是做了gem uninstall rake。現在,使用rvm use @my_gemset切換回我的gemset,使用了正確版本的rake(0.8.7)。

47

您應該運行

rvm use @global && gem uninstall rake -v 0.9.0 
rvm use @ && gem uninstall rake -v 0.9.0 

從RVM

+1

'rvm use @global && gem uninstall rake -v 0.9.0'對我來說就像一個魅力。謝謝! – 2011-05-31 15:01:14

+0

工作對我來說也是完美的!非常感謝 – user5243421 2011-06-09 19:11:52

+0

'rvm use @ && gem uninstall rake -v 0.9.2'對我來說是一個...但是這個技巧!謝謝! – brandonjp 2011-09-19 17:24:31

2

正確刪除耙0.9.0如果您使用捆綁,你應該閱讀這excellent article by Yehuda Katz。遵循他的指示意味着您不必卸載rake 0.9.0。試試下面的命令:

bundle exec rake --version 

前面加上bundle exec將確保只有耙的正確版本被加載,不管你已經安裝了其他人。