Ruby 2.3.15 エラー: 不正な形式のバージョン番号文字列
概要
Ubuntu 上で Rails 2.3.2 を実行している古い Rails アプリを最新の Rails 2.3.15 にアップグレードする作業をしています。このアプリには元々、ベンダー/rails にベンダー バージョンの Rails がありましたが、それを削除し、rails 2.3.15 gem をインストールし、config/environment.rb のバージョン番号を次のように変更しました。
RAILS_GEM_VERSION = '2.3.15' unless defined? RAILS_GEM_VERSION
アプリを再起動すると、mongrel ログに次のエラー メッセージが表示されます (アプリの起動が妨げられます)。
/usr/local/lib/site_ruby/1.8/rubygems/version.rb:53:in `initialize': Malformed version number string (ArgumentError)
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/vendor_gem_source_index.rb:105:in `new'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/vendor_gem_source_index.rb:105:in `version_for_dir'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/vendor_gem_source_index.rb:47:in `refresh!'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/vendor_gem_source_index.rb:45:in `each'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/vendor_gem_source_index.rb:45:in `refresh!'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/vendor_gem_source_index.rb:29:in `initialize'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/gem_dependency.rb:21:in `new'
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.15/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path'
... 17 levels...
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in `run'
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
from /usr/bin/mongrel_rails:19:in `load'
from /usr/bin/mongrel_rails:19
このエラーを回避するには何をする必要がありますか?
解決策
私の質問に対する答えが見つかりました…
Rails は、vendor/gems にはディレクトリのみが存在すると予想していましたが、そこにはロード パス (Rails によってすでに処理されています) に gem を追加しようとする init.rb ファイルがありました。