0

Ubuntu で Rails 2.3.2 を実行している古い Rails アプリを最新の Rails 2.3.15 にアップグレードする作業を行っています。このアプリにはもともとベンダー バージョンの Rails が含まれていましvendor/railsたが、それを削除し、gem をインストールしてrails 2.3.15、バージョン番号を次のように変更しまし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

このエラーを回避するにはどうすればよいですか?

4

1 に答える 1

1

私は私の質問に対する答えを見つけました...

Rails はディレクトリのみが にあると予想していましたが、ロード パスに gem を追加しようとしてvendor/gemsいるinit.rbファイルがそこにありました (これは既に Rails によって処理されています)。

于 2013-01-15T23:35:42.450 に答える