我正在尝试将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。
希望这能有所帮助。