すべてのアプリを ruby 1.8.7 から 1.9.3 にアップグレードしようとしています。
一部のアプリは正常に動作しています。しかし、Rails 3.0.x サイトを実行したり、bundle install を使用したりすると、間違ったバンドラー バージョンに関するエラーがスローされ続けます。
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
refinerycms (~> 0.9.8.5) ruby depends on
bundler (~> 1.0.0) ruby
Current Bundler version:
bundler (1.2.3)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
バンドラー 1.2.3 (パッセンジャーに必要) とバンドラー 1.0.22 の両方がインストールされています。ただし、実行できずbundle install
、サイトを実行すると、rails 3.0 には古いバージョンのバンドラーが必要であるというエラーもスローされます。
更新: 古いバージョンのバンドラーを使用して gem をインストールしました。
bundle _1.0.3_ install
gem のインストールに関しては問題なく動作しましたが、サイトを実行すると、Passenger はまだバンドラー 1.2.3 を使用していて (~>1.0.0) が必要であると不平を言います。~> は「1.0 より大きい」という意味ではありませんか? Ruby 1.8.7 では、これらの問題はまったくありません。
これが私のGemfileです。ご覧のとおり、古いバージョンのバンドラーを gemfile に含めて除外しようとしました。どちらの方法も機能しません。:(
source 'http://rubygems.org'
#gem 'bundler', '1.0.3'
gem 'rails', '3.0.0'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'mysql2', '0.2.6'
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'ruby-debug'
# Bundle the extra gems:
# gem 'bj'
# gem 'nokogiri'
# gem 'sqlite3-ruby', :require => 'sqlite3'
# gem 'aws-s3', :require => 'aws/s3'
# Bundle gems for the local environment. Make sure to
# put test-only gems in this group so their generators
# and rake tasks are available in development mode:
# group :development, :test do
# gem 'webrat'
# end
# REFINERY CMS ================================================================
# Specify the Refinery CMS core:
gem 'refinerycms', '~> 0.9.8.5'
# Specify additional Refinery CMS Engines here (all optional):
gem 'refinerycms-inquiries', '~> 0.9.8.10'
gem 'refinerycms-search', '~> 0.9.8'
gem "refinerycms-news", '~> 0.9.9'
# Add i18n support (optional, you can remove this if you really want to).
gem 'refinerycms-i18n', '~> 0.9.8.7'
# Figure out how to get RMagick:
rmagick_options = {:require => false}
rmagick_options.update({
:git => 'git://github.com/refinerycms/rmagick.git',
:branch => 'windows'
}) if Bundler::WINDOWS
# Specify a version of RMagick that works in your environment:
gem 'rmagick', '~> 2.12.2', rmagick_options
# END REFINERY CMS ============================================================
# USER DEFINED
# END USER DEFINED
gem 'validates_timeliness', '~> 3.0.0'
engine_path = File.join(File.dirname(__FILE__), 'vendor/engines')
#puts engine_path
gem 'refinerycms-venues', '1.0', :path => "./vendor/engines", :require => 'venues'
gem 'refinerycms-events', '1.0', :path => './vendor/engines', :require => 'events'
gem 'refinerycms-available_spaces', '1.0', :path => './vendor/engines', :require => 'available_spaces'
gem 'refinerycms-contents', '1.0', :path => 'vendor/engines', :require => 'contents'
gem 'refinerycms-news_alerts', '1.0', :path => 'vendor/engines', :require => 'news_alerts'
Rails 3.0 のように、新しいバージョンのバンドラーがインストールされている場合、サイトを実行できませんが、それは正気ではないようです。新しいバージョンのバンドラーを使用すると、古いサイトが機能しなくなりますか?