2012-01-03 67 views
4

Passenger在生产中出现此错误no such file to load -- mysql2/mysql2Rails 3.没有这样的文件加载 - 生产中的mysql2/mysql2

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

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

回答

3

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

+1

你从哪里删除了宝石? – jpganz18 2013-05-02 16:31:41

1

有几件事情:

1.9.1已经与轨道许多已知的错误(3+),考虑升级到1.9.2。

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

+0

的OP可能运行了另一个Ruby版本比1.9.1。看起来似乎是因为** 1.9.1以后的所有** Rubies都将他们的Gems安装到一个名为1.9.1的目录中,而不管它们的实际版本。 – 2012-09-08 08:29:07

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部分)。 – 2012-09-19 19:14:26

相关问题