将一个小型应用程序从rails 3.1.3迁移到3.1.10



我正在尝试将rails应用程序从3.1.3 迁移到3.1.10

我在gemfile中将3.1.3更改为3.1.10,并运行bundle update rails

尽管gemfile几乎是空的,但我有以下错误:

Bundler找不到gem"multi_json"的兼容版本:InGemfile:uglifier(>=1.0.3)ruby依赖于multi_json(~>1.3)ruby

rails (= 3.1.10) ruby depends on
  multi_json (1.2.0)

这是我的gemfile:

source 'http://rubygems.org'
gem 'rails', '3.1.10'
# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
gem 'rails_admin'
gem 'devise'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'coffee-rails', '~> 3.1.1'
  gem 'uglifier', '>= 1.0.3'
end
gem 'sass-rails',   '3.1.5'
gem 'jquery-rails'
gem 'therubyracer'
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
gem 'capistrano'
# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'
#gem for images
gem 'paperclip'

Uglifier默认情况下是一个gem,rails 3.1.3添加的gem怎么可能需要3.1.10需要的更新的gem(1.2.0)!

我如何迁移?

创建一个新项目。然后编辑新的gem文件以反映新的rails版本。将旧gem文件的内容复制到除rails之外的新文件中。执行捆绑包安装。将旧项目复制到新项目中。捆绑它,然后再次执行rake-db:migrate。

希望这能有所帮助。

最新更新