我目前正在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+,这就是所有麻烦开始的地方。
答案 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