冲突更新到Rails 3.1.10

时间:2013-01-08 22:07:52

标签: ruby-on-rails ruby bundler

我目前正在3.1.3版本上运行我的一个Rails应用程序。我的gemfile总是列出:

gem 'rails', '3.1.3'

这很好用。为了转移到3.1.10,我将我的Gemfile更改为以下内容:

gem 'rails', '~> 3.1.10'

令人惊讶的是,当我在更改后运行bundle update rails时,事情就会中断:

Bundler could not find compatible versions for gem "multi_json":
  In Gemfile:
    twitter (>= 0) ruby depends on
      multi_json (~> 1.3) ruby

    fnordmetric (>= 0) ruby depends on
      multi_json (1.2.0)

正如测试一样,我尝试将gem版本更改为'>= 3.1.0'并且没有任何quims安装,虽然它已经转到3.2,我还没准备好在这个特定的应用程序上。

有什么建议让这个东西在今天发布的3.1.10上运行以解决安全漏洞吗?

也是更新:

我绝对没有麻烦存放Gemfile.lock并从Rails 3.1.4开始。一旦我尝试转到3.1.5+,这就是所有麻烦开始的地方。

2 个答案:

答案 0 :(得分:2)

将Gemfile中的更改改为

gem 'rails', '3.1.10'

然后尝试运行

bundle update

而不是

bundle install

我看不到你的Gemfile但这应该允许捆绑器尝试找到兼容的Gem匹配。如果您有硬编码Gem修订版,您可能需要放松它并重复更新。祝你好运!

答案 1 :(得分:0)

看看宝石,看来oauth2列出了“multi_json~> 1.0”,而ActiveSupport 3.1.10列出了“multi_json< 1.3,> = 1.0”作为依赖关系,因此应该解决。我遇到了这样的陌生感并通过运行

修复了它
gem uninstall <relevant gems>

然后再次运行bundle install。所以也许试试

gem uninstall oauth2 multi_json activesupport

然后bundle install

修改

gem uninstall twitter multi_json fnordmetric