ActiveRecord … activerecord-mysql-adapter

这让我疯狂。

我正在尝试使用ActiveRecord创建一个简单的初学者应用程序来执行简单的数据库任务。 我不使用铁轨。

我一直收到错误:

RuntimeError: Please install the mysql adapter: `gem install activerecord-mysql-adapter` (Could not find mysql (~> 2.8.1) amongst [actionmailer-3.1.3, actionpack-3.1.3, activemodel-3.1.3, activerecord-3.1.3, activerecord-sqlserver-adapter-3.1.4, activeresource-3.1.3, activesupport-3.1.3, ansi-1.4.1, arel-2.2.1, bigdecimal-1.1.0, builder-3.0.0, bundler-1.0.21, capistrano-2.9.0, coffee-rails-3.1.1, coffee-script-2.2.0, coffee-script-source-1.1.3, daemons-1.1.4, erubis-2.7.0, eventmachine-0.12.10, execjs-1.2.9, highline-1.6.8, hike-1.2.1, hpricot-0.8.5, i18n-0.6.0, io-console-0.3, jquery-rails-1.0.19, json-1.6.3, mail-2.3.0, mime-types-1.17.2, minitest-2.5.1, multi_json-1.0.4, net-scp-1.0.4, net-sftp-2.0.5, net-ssh-2.2.1, net-ssh-gateway-1.1.0, nokogiri-1.5.0, polyglot-0.3.3, rack-1.3.5, rack-cache-1.1, rack-mount-0.8.3, rack-protection-1.1.4, rack-ssl-1.3.2, rack-test-0.6.1, rails-3.1.3, railties-3.1.3, rake-0.9.2.2, rdoc-3.11, rockhands-0.0.6, sass-3.1.11, sass-rails-3.1.5, shotgun-0.9, sinatra-1.3.1, sprockets-2.0.3, sqlite3-1.3.4, thin-1.3.1, thor-0.14.6, tilt-1.3.3, treetop-1.4.10, turn-0.8.3, tzinfo-0.3.31, uglifier-1.1.0]) 

这个gem显然不存在于rubygems上,或者这很容易……

我该怎么办呢?

这是重要的一部分

 ActiveRecord::Base.establish_connection( :adapter => 'mysql', :host => 'localhost', :database => 'test', :username => 'root', :password => 'password' ) 

我可以看到我改变的任何东西:哈希中的适配器是它插入错误’gem install activerecord-yousuck-adapter’的内容

我已经阅读了谷歌的所有指南,我可以找到……在我的智慧结束时。 我认为这至少会更容易一点……我花了几个小时来修复gem错误。 事实上,我还没有写任何实际的ruby代码。 多么令人沮丧。

不确定这是不是你的问题,但尝试使用adapter: mysql2驱动程序。 无论如何它是推荐的,因为它比标准的mysql快。

你还得到同样的问题吗?

经过几个小时的斗争,Tallboy的答案在OS X上对我有用:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

不幸的是,他的答案隐藏在上述评论之一; 您必须单击链接以展开评论。 我收到错误消息“未定义的方法’init’为Mysql:Class”

  1. 我发布了bundle install命令,但没有解决问题

  2. 我发现gem文件位于c:\ Sites \ <> \ Gemfile中

  3. 通过在notepad ++中编辑来为文件添加gem’mysql’

  4. 然后使用bundle show mysql检查是否可以在bundle中使用Mysql

  5. 之后当我发出rake db:create时,我找不到指定的文件错误,这是指libmysql.dll

  6. 您可以在mysql安装中找到相同的内容,也可以从http://www.vertstudios.com/blog/libmysqldll-32-bit-download/链接下载。

  7. 将该文件复制到Ruby目录bin文件夹。 在我的情况下我使用rubyinstaller所以它是C:\ RailsInstaller \ Ruby1.9.3 \ bin

瞧。 那已经完成了。

^请注意,下载链接可能会导致库版本不正确。 在这种情况下,最好按照安装mysql(2)gem后得到的消息中给出的链接来获取正确的库版本,否则它仍然无法正常工作。

我们遇到了同样的问题(因为我们从jruby切换到ruby)

解决:

  • adapter:mysql2(在database.yml中)
  • gem’mysql2’(在gemfile中)