该捆绑包当前的导轨锁定在3.2.12。该怎么办?

Fel*_*lix 3 ruby gem bundle ruby-on-rails

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

然后我得到这个错误:

The bundle currently has rails locked at 3.2.12
Run Code Online (Sandbox Code Playgroud)

所以我尝试了bundle update /和bundle update rails ...但是我得到了:

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)
Run Code Online (Sandbox Code Playgroud)

我需要做什么?

更新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
Run Code Online (Sandbox Code Playgroud)

spi*_*ann 5

赶紧跑

bundle update
Run Code Online (Sandbox Code Playgroud)

而不告诉您仅更新特定的gem(例如rails)。这样就可bundler以为中的所有宝石找到最新的可能组合Gemfile

原型轨宝石不积极支持了。您应该尝试尽快更换它(即使最新版本仍然适合您)。

此外:Rails 3.2和4.2之间已经更改了多个配置设置,您将不得不更改一些配置和核心文件。您可能还需要阅读Rails指南:升级Rails

我建议您以较小的步骤升级您的应用程序(3.2-> 4.0、4.0-> 4.1、4.1-> 4.2)。在继续下一步之前,请确保该应用程序在每个步骤中都能正常运行。另外,请注意控制台或日志中的弃用警告。