夜の Discovery このページをアンテナに追加 RSSフィード Twitter

セイバーメトリクス対応!野球の成績・チーム・試合管理の決定版!『ガチャスポ ベースボール』

2008-01-07

undefined method `require_gem' for main:Object

年末ハードディスクをフォーマットした後、ruby やら何やらをすべて最新にしたせいで、

いくつか動作しないアプリケーションが出てきています。


rails 1.2.6 で作成したアプリケーションが以下のようなエラーで db:migrate できなくなってしまいました。

undefined method `require_gem' for main:Object

これは rubygems の最新(1.0.1)を入れたことにより、rubygems 0.X には存在した require_gem メソッドが

rubygems 1.X ではなくなってしまったために発生していました。


そこで、他サイトを参考にして、以下のようなコマンドを実行してみましたが、まだエラーとなってしまいます。

gem update --system

gem pristine --all

そこで、今度は --trace オプション付きで db:migrate を実行してみると、

rake db:migrate --trace

config/boot.rb の28行目でエラーが発生していたため、該当箇所を修正。

+  gem "rails", "=#{version}"
-  require_gem "rails", "=#{version}"
  require rails_gem.full_gem_path + '/lib/initializer'

これで無事 db:migrate が実行できるようになりました。


参考

“Warning require_gem is obsolete.”を解決 - Rails2.0.1バージョンアップ格闘記 » RAILS PRESS

http://railspress.matake.jp/press-0027-warning-require_gem-is-obsolete%e3%82%92%e8%a7%a3%e6%b1%ba-rails201%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3%e3%82%a2%e3%83%83%e3%83%97%e6%a0%bc%e9%97%98%e8%a8%98

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証