【问题标题】:How do you get different RVM gemsets to use different versions of Rails?如何获得不同的 RVM gemset 来使用不同版本的 Rails?
【发布时间】:2012-06-11 20:46:46
【问题描述】:

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

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

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

【问题讨论】:

  • 你试过用rvm 3.0.0命令切换ruby版本吗?
  • 我要切换的不是 ruby​​ 版本,而是 Rails 版本。如果有帮助,请使用 ruby​​ 1.9.3。
  • 对不起,我看错了。创建新的 gemset 后,是否在安装 Rails 3.0.0 之前切换到它?
  • 是的。我使用命令 rvm use 1.9.3@rails3old 切换,然后安装 Rails 3.0.0
  • 当您运行gem list 时,您是否看到为rails 列出了多个版本?

标签: ruby-on-rails rvm


【解决方案1】:

如果您运行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

希望对你有帮助

【讨论】:

  • 很高兴听到这个消息!你能接受我对其他偶然发现这个问题的人的回答吗?编码愉快!
【解决方案2】:

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

我会先用rvm gemset list 盘点你的gemset,看看@global 和新gemset 之间是否有区别,如果需要,从@global gemset 中卸载gem。

我认为您需要了解的大部分内容都在这里: https://rvm.io/gemsets/basics/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    • 2011-05-23
    相关资源
    最近更新 更多