我在删除rake gem 0.9版时遇到了一些麻烦。我设法运行gem uninstall rake
,我相信这已经删除了它。然而,回到宝石列表,它仍然表明它仍然存在。
正在运行gem env
:
GEM PATHS:
/home/sean/.rvm/gems/ruby-1.9.2-p180
/home/sean/.rvm/gems/ruby-1.9.2-p180@global
我进入@global
目录并在那里手动删除它,但它仍然在某处。当我运行gem list
时,我可以看到它。 0.9 rake gem导致我的Rails 3.0.7应用程序出现问题。
我跑了gem list -d rake
:
rake (0.9.0, 0.8.7)
Installed at
(0.9.0): /home/sean/.rvm/gems/ruby-1.9.2-p180@global
(0.8.7): /home/sean/.rvm/gems/ruby-1.9.2-p180
我在gems目录中没有看到ruby-1.9.2-p180@global的任何内容
答案 0 :(得分:47)
你应该运行
rvm use @global && gem uninstall rake -v 0.9.0
rvm use @ && gem uninstall rake -v 0.9.0
从rvm
正确删除rake 0.9.0答案 1 :(得分:3)
在终端输入:gem uninstall rake
中,然后在出现提示时选择版本0.9.0。
然后在Rails应用程序中修改Gemfile:
gem 'rake', '0.8.7'
然后在终端运行中:
bundle install
这些步骤应该可以解决您遇到的问题。升级到rails 3.1时再次升级到rake。
答案 2 :(得分:2)
如果你正在使用rvm,你会在全局gemset中“免费”安装rake 0.9,这使得很难(不可能?)正确卸载。 gem uninstall rake
成功,但实际上并没有删除rake 0.9。我不得不手动为REE和1.9.2做。
我编辑了rake可执行文件脚本(找到which rake
)并添加了:
puts "Gem.bin_path: #{Gem.bin_path('rake', 'rake', version)}
...在最后一行之前。这打印(在我的系统上): Gem.bin_path:〜/ .rvm / gems /ree-1.8.7-2011.03@global/gems/rake-0.9.0/bin/rake
将0.9 cd删除到〜/ .rvm / gems / ree-1.8.7-2011.03并手动删除所有rake-0.9文件(gems,规格是我相信的那些)。
答案 3 :(得分:2)
我遇到了同样的问题(需要rake 0.8.7但是用rvm获得0.9.0“免费”)。最初gem list -d rake
给出了以下输出:
rake (0.9.0, 0.8.7) Installed at (0.9.0): ~/.rvm/gems/ruby-1.9.2-p136@global (0.8.7): ~/.rvm/gems/ruby-1.9.2-p136@my_gemset
使用rvm use @global
切换到全球宝石集给了我这个输出:
rake (0.9.0) Installed at: ~/.rvm/gems/ruby-1.9.2-p136@global
所以我刚做了gem uninstall rake
。现在,使用rvm use @my_gemset
切换回我的gemset,正在使用正确版本的rake(0.8.7)。
答案 4 :(得分:2)
如果您正在使用bundler,则应阅读此excellent article by Yehuda Katz。遵循他的指示意味着您不必卸载rake 0.9.0。请尝试以下命令:
bundle exec rake --version
预先bundle exec
将确保只加载正确版本的rake,而不管您安装的其他版本。
答案 5 :(得分:0)
您是否尝试过使用'gem cleanup'脚本?