我在生产中从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
确实存在,该文件不存在。
为什么我收到此错误?我该如何解决?
答案 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