带有mysql2和rails3的RuntimeError(捆绑软件)


76

我得到这个错误

`establish_connection': Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- active_record/connection_adapters/mysql2_adapter) (RuntimeError)
  from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/activerecord-

是整个错误以及我的配置和gemfile的转储。


我遇到了同样的问题,经过多次分析,我能够在使用rails3的Windows上成功安装mysql2。以下博客文章中给出了我遵循的过程。kyybaventures.com/blog/installing-mysql2-gem-ruby-rails-windows希望,解决上述问题会很有用。玛尼
maniempire

Answers:


0

从Ubuntu 11.10升级到12.04后,我遇到了相同的错误。这是我解决问题的方法:

gem uninstall mysql2
bundle

我认为这里的关键是“本机扩展”-我想当我最后安装时,我正在使用不同版本的mysql。

Installing mysql2 (0.3.11) with native extensions

101

使用Rails 3.0.7和mysql2 0.3.2。时遇到相同的错误。我在这里找到的解决方案是使用旧版本的mysql2。因此,将您的gemfile编辑为

gem 'mysql2', '< 0.3'

并运行

bundle install 

这个为我在Ubuntu 10.04上修复了它!如果使用RVM,则还可以使用:rvm gem install mysql2 --version=0.2.7,并将以上行添加到Gemfile中。
TrinitronX

今天我遇到了同样的问题,上升到3.1,再下降到3.0.7。这就是解决方法。
David Ortinau 2011年

2
除了mysql2的这些版本在大型网站都阻塞问题
凯文-

同样在这里-显然mysql2> 3.0不会加载AR适配器pronto
Julik 2011年

3
要获得更多启发,请参阅以下github上的mysql2问题,其中说mysql 0.3.x仅适用于rails 3.1及更高版本
Tim Harper



6

如果您使用的是rvm,并且可能在rvm之外添加了mysql2,请尝试以下步骤:确认您的Gemfile显示:

gem 'mysql2'

或对于Rails2.x:

gem 'mysql2', '~> 0.2.11'

然后:

$ cd RAILS_ROOT
$ gem uninstall mysql2

Select gem to uninstall:
 1. mysql2-0.2.11
 2. mysql2-0.3.6
 3. All versions
> 3 # select "All versions"
$ rvm gemset install mysql2
$ bundle install

现在,滑轨应该可以正常启动了。


3

这也解决了我遇到的问题:

Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- active_record/connection_adapters/mysql2_adapter)

您实际上需要运行:gem install mysql2并将gem添加到您的配置中。


1
我在手动安装mysql2 gem时遇到了这个问题。然后,我按照您在gemfile中所说的使用了它,并进行了捆绑安装。它加载了,但是我得到了无法连接到mysql.sock的错误。所以我然后运行了env ARCHFLAGS =“-arch i386” gem install mysql2 --version 0.2.6---with-mysql-config = / usr / local / mysql / bin / mysql_config(我在Mac Pro上)这似乎解决了我的问题。Ran rails s和嘿presto ..希望这可以帮助其他人:)
fullstacklife 2011年

@dryprogrammers-我可以给你100多个,请把您的评论作为答案,它也与Ubuntu 12-10非常相关。在完全更新的Ubuntu 12.10上,不会安装精确gitlab。磕碰。经过数小时(6-8)的搜索和尝试许多操作后,我尝试将您的mac hack作为最后的手段。LO和BEHOLD就像我(咳嗽)对Mac一点也不在乎...这对我来说就好了,现在我可以上床睡觉了...开心!:)
stefgosselin 2013年

2

只需运行“ gem install mysql”,还要在gemfile中添加相同内容并运行bundle。工作了


这使我陷入了困境。我运行了“ sudo gem install mysql2”,它起作用了。谢谢!
Tomasz Iniewicz 2011年

1
不建议在Gemfile之外进行手动gem管理。对于其他开发人员或部署,它容易出现依赖性问题。
加贝·马丁·丹佩西


1

我是ruby,rails和linux的初学者。因此,如果此解决方案不起作用,我不承担任何责任:)

步骤1:

sudo gem uninstall mysql2

第2步:

sudo gem install mysql -v 0.2.7

启动webrick,如果仍然出现相同的问题,请重新安装滑轨。

此解决方案对我有用。


1
使用sudo安装gem通常不是一个好习惯吗? stackoverflow.com/questions/2119064/…–
塔斯(Tass)

1

我也遇到同样的问题。升级到Rails 3.1.rc4,然后降级到3.0.3。为我工作。


0

从0.3.0开始,以及从ActiveRecord 3.1开始-ActiveRecord适配器已从该gem中拉出,并进入了ActiveRecord本身。如果您需要将MySQL2与Rails版本<3.1一起使用,请确保在Gemfile中指定gem“ mysql2”,“〜> 0.2.7”

缺少的文件(no such file to load)可在mysql2的0.3.0之前的版本中找到。

引用mysql2文档

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.