0

尝试使用 RVM 1.22.3 从 rails 3.2.13 切换到 3.1。

使用红宝石 1.9.3。

做了以下事情:

$ rvm gemset create rails31
gemset created rails31  => /Users/mwsage/.rvm/gems/ruby-1.9.3-p429@rails31
$ rvm 1.9.3-p429@rails31
$ gem install -v3.1 rails

在获取并成功安装许多 gem 之后,我会收到以下提示:

rails's executable "rails" conflicts with railties
Overwrite the executable? [yN]

我选择了不。

然后

$ rails -v
Rails 3.1.0

我准备好了吗?如果需要,我该如何解决这个冲突?

4

1 回答 1

0

有两种解决gem版本冲突的方法:

  1. 生成新应用程序时使用 rails 版本:rails _3.1.0_ new- 这将确保您选择的版本用于生成新项目。这仅适用于简单的场景,不会帮助解决“已加载错误的 gem 版本”的问题。

  2. 用于Gemfile告诉 bundler 使用哪个版本的 rails:

    source "http://rubygems.org"
    gem 'rails', '3.1.0'
    

    然后所有带有bundle execlike前缀的命令bundle exec rails都将使用railsstored in的版本执行Gemfile-当您使用RVM时,它安装了gem ruby​​gems-bundler,它会为您加载,因此如果您有正确的gem ,则Bundler不需要为命令添加前缀(rails) 版本已安装。bundle execGemfile

于 2013-09-21T00:53:25.860 回答