2012-01-03 12 views
4

このエラーは生産現場でPassengerからno such file to load -- mysql2/mysql2です。Rails 3.ロードするファイルがありません - 生産のmysql2/mysql2

このエラーの詳細は/var/www/releases/20120103021152/vendor/cache/ruby/1.9.1/gems/mysql2-0.2.18/lib/mysql2.rbですが、そのファイルは存在しません。

なぜこのエラーが発生しますか?どうすれば修正できますか?

答えて

3

私のgemsフォルダ内のすべてのgemsを手動で削除し、バンドルを実行していました。面倒な宝石(mysql-2.0.18または何かのgem版)がインストールされなくなりました。

+1

どこで宝石を削除しましたか? – jpganz18

1

いくつかのこと:

のRuby 1.9.1がレールに多くの既知のエラーが(3+)、1.9.2へのアップグレードを検討しています。

手動でmysql2 gemをインストールしてから、それをあなたのGemfileに追加しましたか?その場合は、手動でアンインストールしてください(すべてのバージョン)。bundle install

+0

OPはおそらく1.9.1よりも別のRubyのバージョンを実行します。 **すべての** Rubyは1.9.1以降、実際のバージョンにかかわらず、1.9.1と呼ばれるディレクトリに自分のGemをインストールするからです。 –

7

同じエラーが発生しました。

rails s 
{railsroot}/vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.11/lib/mysql2.rb:9:in `require': 
cannot load such file -- mysql2/mysql2 (LoadError) 

以下が機能しました。
( '{} railsroot /vendor/bundle/ruby/1.9.1/gems/' になるには、お使いのシステムによって異なります。)

cd {railsroot}/vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.11/mysql2/ext 
ruby extconf.rb 
make 
make install 

cd {railsroot}/vendor/bundle/ruby/1.9.1/gems/bcrypt-ruby-3.0.1/ext/mri 
ruby extconf.rb 
make 
make install 
+1

ありがとうございます。これは私のために働いた(私の環境では少し違っていたが)、最初の部分(bcrypt-partではなく)を作るだけで済むようになった。 –

関連する問題