该捆绑目前的铁轨锁定在3.2.12。怎么办?

时间:2015-03-13 09:22:39

标签: ruby-on-rails ruby gem bundle

我在gemfile中将rails版本从3.2.12更改为4.2.0

然后我收到了这个错误:

The bundle currently has rails locked at 3.2.12

所以我尝试了捆绑更新/捆绑更新导轨......但我得到了这个:

Bundler could not find compatible versions for gem "rails":
  In Gemfile:
prototype-rails (>= 0) ruby depends on
  rails (~> 3.2) ruby

rails (4.2.0)

我该怎么做?

更新Gemfile:

source 'http://rubygems.org'
#gem 'rails', '3.2.12'
gem 'rails', '4.2.0'
gem "airbrake"
#gem "mysql"
gem 'mysql2',  '~>0.3.7'
gem 'fastercsv'
gem 'newrelic_rpm', :group => [:production, :staging]
gem "xml-simple", :require => "xmlsimple"
gem "will_paginate", "~> 3.0.0"
gem "json", '1.7.7'
gem "default_value_for"
gem "whenever"
gem 'charlock_holmes'
gem 'prototype-rails'
gem 'rails_autolink'

group :development do
  gem 'capistrano'
  gem 'capistrano-ext'
end

3 个答案:

答案 0 :(得分:4)

跑步

bundle update

没有告诉只更新特定的宝石(如rails)。这允许bundler找到Gemfile中所有宝石的最新可能组合。

prototype-rails gem不再受到支持。你应该尽快替换它(即使最新的版本仍然适合你)。

此外:Rails 3.2 and 4.2之间的多个配置设置已更改,您必须更改部分配置和核心文件。您也可以阅读Rails Guide: Upgrading Rails

我建议您按步骤(3.2 - > 4.0,4.0 - > 4.1,4.1 - > 4.2)升级您的应用。在继续下一步之前,请确保应用程序只需一步即可完成。还要注意控制台或日志文件中的弃用警告。

答案 1 :(得分:1)

我认为,问题出在prototype-rails

https://github.com/rails/prototype-rails

下面评论prototype-rails gem 不幸的是,由于人力和资源有限,Rails核心团队无法确认此gem是否适用于Rails 4.1及更高版本。如果您在升级应用程序时发现任何问题,请在问题跟踪器上报告,或者更好,通过发送拉取请求提交补丁。

尝试删除首先删除prototype-rails然后运行

bundle update

答案 2 :(得分:1)

删除您的gemfile.lock

rm Gemfile.lock 

然后添加 Gemfile中的rails 4.2.0  那么

bundle install