[解決済み] Gem:Module の未定義メソッド `source_index' (NoMethodError)
質問
Rails 2.3.5のアプリケーションを動かしているのですが、スクリプト/サーバーを実行すると以下のように表示されます。
./script/../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path': undefined method `source_index' for Gem:Module (NoMethodError)
from ./script/../config/boot.rb:60:in `load_initializer'
from ./script/../config/boot.rb:44:in `run'
from ./script/../config/boot.rb:17:in `boot!'
from ./script/../config/boot.rb:123
from script/server:2:in `require'
from script/server:2
boot.rb の 60 行目 (Rails::GemDependency.add_frozen_gem_path) をコメントアウトして script/server を実行すると、次のようになります。
=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
./script/../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path': undefined method `source_index' for Gem:Module (NoMethodError)
from ./script/../config/../vendor/rails/railties/lib/initializer.rb:298:in `add_gem_load_paths'
from ./script/../config/../vendor/rails/railties/lib/initializer.rb:132:in `process'
from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
from /home/developer/bigpink/config/environment.rb:13
from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
from /home/developer/bigpink/vendor/rails/railties/lib/commands/server.rb:84
from script/server:3:in `require'
from script/server:3
というわけで、どうしたらいいのかよくわかりません。私はいくつかの迅速な助けを得ることができます願っています。ありがとうございます。
どのように解決するには?
私自身、古い Rails アプリを REE 1.8.7 から 1.9.3-p385 にアップグレードしようとして、この問題に遭遇しました。奇妙なことに、Ruby 1.9.3-p327 は問題なく動作します。結局のところ、ruby-1.9.3-p385 では RubyGems バージョン 2.0.2 がインストールされていましたが、1.9.3-p327 では RubyGems v1.8.23 がインストールされています。
Gem.source_index
はしばらく非推奨でしたが、Rails 2.3では重要なセキュリティパッチ以外のアップデートがないため、このまま修正されることはないでしょう。RubyGems v2.0ではついにこの方法が削除されました。ダウングレードして、任意の
rubygems
2.0.0より前のバージョン、たとえば1.8.25にダウングレードすると、とりあえず機能を取り戻せます。互換性のあるバージョンを取得するには
gem update --system 1.8.25
.
非常に重要な余談ですが、Rails 2.3.5は最低でも2.3.17に更新する必要があります。致命的なセキュリティ脆弱性があり、非常に厄介な攻撃にさらされる可能性があります。長期的には、3.x へのアップグレードは非常に強いニーズであると考える必要があります。
関連
-
[解決済み】Rails: sudo "コマンドが認識されないのはなぜですか?
-
[解決済み] Rails のインストールに失敗する: activesupport には Ruby のバージョン >= 2.2.2 が必要です。
-
[解決済み] Ruby on rails "No route matches" (ルートに一致するものがない)。
-
[解決済み] どなたか、collection_selectをわかりやすく説明していただけませんか?
-
[解決済み] PG::ConnectionBad - サーバーに接続できませんでした。接続が拒否されました。
-
[解決済み] Rubyのクラスで未初期化の定数エラーが発生する
-
[解決済み] 検索 vs 発見する by vs どこに
-
[解決済み] rspecにおけるassignsの意味
-
[解決済み] 構文エラー "構文エラー、予期しない入力終了、keyword_endを期待 (SyntaxError)"
-
[解決済み] ActionController::RoutingError: 初期化されていない定数MicropostsController
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Bundler: コマンドが見つからない
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜでしょうか?
-
[解決済み] 新規ユーザー作成時に ActiveModel::ForbiddenAttributesError が発生する。
-
[解決済み] heroku push rejected, failed to compile Ruby/rails app
-
[解決済み] どなたか、collection_selectをわかりやすく説明していただけませんか?
-
[解決済み] rspec 3 - クラスメソッドをスタブ化する
-
[解決済み] RVMでRubyのデフォルトバージョンを設定するには?
-
[解決済み] Railsはsaveでモデル内の検証をスキップしますか?
-
[解決済み] bundle install --without production は何をするのですか?
-
[解決済み] RubyとRailsの "Date.today "フォーマット