Rails 3.没有这样的文件加载 - 生产中的mysql2 / mysql2

时间:2012-01-03 02:24:53

标签: mysql ruby-on-rails ruby gem

我在生产中从Passenger收到此错误no such file to load -- mysql2/mysql2

有关此错误的详细信息/var/www/releases/20120103021152/vendor/cache/ruby/1.9.1/gems/mysql2-0.2.18/lib/mysql2.rb确实存在,该文件不存在。

为什么我收到此错误?我该如何解决?

3 个答案:

答案 0 :(得分: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)  

以下是有效的 ('{railroot} /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 :(得分:3)

我最终手动删除了gems文件夹中的所有gem并运行了bundle install。麻烦的宝石(一个mysql-2.0.18或某个宝石版本)停止安装。

答案 2 :(得分:1)

一些事情:

Ruby 1.9.1有许多已知的rails(3+)错误,请考虑升级到1.9.2。

您是否手动安装了mysql2 gem,然后将其添加到您的Gemfile中?如果是,请手动将其卸载(所有版本) - 然后运行bundle install