Ruby on Rails - MySQL2 gem 安装良好,但在运行时仍然"Please install the myslq2 adapter..." "rake db:migrate"



我已经阅读了许多关于mysql2的帖子,但是尽管gem似乎安装得很好,但在运行任何rake db任务或rails命令时,我仍然会得到错误。在我的Gemfile中:

source 'http://rubygems.org'
gem 'rails', '3.0.7'
gem 'mysql2'

在我的远程服务器上,我运行了以下命令:

$ bundle install
...
Using mysql2 (0.2.7)
...
Using rails (3.0.7)
...
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
$ rake db:schema:load
(in ...)
rake aborted!
Please install the myslq2 adapter: `gem install activerecord-myslq2-adapter` (no such file to load -- active_record/connection_adapters/myslq2_adapter)
$ gem install activerecord-myslq2-adapter
ERROR:  Could not find a valid gem 'activerecord-myslq2-adapter' (>= 0) in any repository
$ gem install mysql2
Building native extensions.  This could take a while...
Successfully installed mysql2-0.3.2
1 gem installed
Installing ri documentation for mysql2-0.3.2...
Enclosing class/module 'mMysql2' for class Result not known
Installing RDoc documentation for mysql2-0.3.2...
Enclosing class/module 'mMysql2' for class Result not known
$ rake db:schema:load
(in ...)
rake aborted!
Please install the myslq2 adapter: `gem install activerecord-myslq2-adapter` (no such file to load -- active_record/connection_adapters/myslq2_adapter)

我还遗漏了什么吗?谢谢你。

这很尴尬,但是对于其他可能有同样问题的人:

确保您的数据库。yml文件有所有正确的拼写,没有调换的l或q:

# Correct
development:
  adapter: mysql2

而不是:

# Incorrect
development:
  adapter: myslq2

注意OP的最后一行抱怨缺少myslq2适配器。也许有人可以创建一个名为myslq2的克隆项目,以防万一:)

您应该将此添加到Gemfile:

gem 'mysql2','0.2.7'

Then bundle install .

还请注意mysql2 v0.2。x用于Rails v3.0。X或更低版本,mysqll2 v0.3。x用于Rails 3.1。X或更高版本(mysql l2 v0.3)x不再附带activerecord适配器,因为它现在是Rails 3.1的一部分)

mMysql2可能是mysql 0.3.2的拼写错误?

我找到了这个解决方案,它对我很有效:

由于某些原因,安装程序指向错误的位置。将以下内容添加到~/。配置文件或~/。bash_profile应该可以修复这个问题(假设MySQL安装在这里):

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH

打开一个新的终端,应该就可以了。

来源:http://alexbraunstein.com/2011/08/12/library-loaded-libmysqlclient-18-dylib/

我通过改变数据库中的'mysql'修复了这个问题。

'mysql' gem是在ruby 1.9之前使用的(在我进入ruby之前),我想。因此,ruby 1.8 rails项目也可以通过记住更改数据库来修复。

mysql's to 'mysql2',不只是Gemfile。

我有这个问题,这是由于适配器:mysql在database.yml。是的,它确实需要adapter: mysql2。这样做很好,是的,我正在从sqlite3切换。

相关内容

  • 没有找到相关文章

最新更新