我在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
答案 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