如何让不同的RVM gemsets使用不同版本的Rails?

时间:2012-06-11 20:46:47

标签: ruby-on-rails rvm

我正在使用RVM,我错误地安装了最新版本的Rails(3.2.5)而没有先创建gemset。

现在,我正在开发的项目要求Rails 3.0.0兼容,但是当我创建一个新的gemset,安装Rails 3.0.0并检查我的Rails版本时,它仍然说我有3.2.5

我是否只需要从任何地方卸载Rails并重新安装到单独的gemsets中以使其正常工作?

2 个答案:

答案 0 :(得分:4)

如果您运行gem list -d rails,您将获得与此类似的输出。

*** LOCAL GEMS ***

rails (3.2.3)
    Author: David Heinemeier Hansson
    Homepage: http://www.rubyonrails.org
    Installed at: /Users/bjedrocha/.rvm/gems/ruby-1.9.3-p194@jwb

    Full-stack web application framework.

请注意installed at指令。 @之后的部分表示gemset。因此,如果您在没有首先创建并切换到命名gemset的情况下安装了Rails,则可能是它安装在@global gemset(RVM的默认设置)下。如果是这种情况,我会切换到全局gemset并卸载Rails。卸载后,您可以切换回命名的gemset,它将使用此gemset中安装的Rails版本

rvm use 1.9.3@global
gem uninstall rails

rvm use 1.9.3@mygemset

希望这有帮助

答案 1 :(得分:2)

听起来Rails 3.2.5是您的全局gemset的成员,其安装由每个ruby的gemsets继承。

我首先用rvm gemset list评估您的宝石集,看看@global与新宝石集之间是否存在差异,如果需要,可以从@global宝石集中卸载宝石。

我认为你需要知道的大部分内容都在这里: https://rvm.io/gemsets/basics/