0

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

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

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

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

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

这是我的宝石文件:

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)!

我该如何迁移?

4

1 回答 1

0

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

希望这可以帮助。

于 2013-02-16T11:55:44.857 回答