ActiveRecord .... activerecord-mysql-adapter

时间:2011-12-04 09:53:49

标签: ruby-on-rails ruby activerecord

这让我疯狂。

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

我一直收到错误:

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])

这个宝石显然不存在于rubygems上,或者这很容易......

我该怎么办呢?

继承人的重要部分

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

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

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

4 个答案:

答案 0 :(得分:13)

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

你还有同样的问题吗?

答案 1 :(得分:5)

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

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

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

答案 2 :(得分:2)

  1. 我发出了捆绑安装命令,该命令无法解决问题

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

  3. 通过在记事本++中编辑 gem'mysql'

  4. 然后使用 bundle show mysql

  5. 检查捆绑包中的Mysql是否可用
  6. 之后当我发出rake db:create时,我找不到指定的文件错误,这是指libmysql.dll

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

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

  9. 瞧。那已经完成了。

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

答案 3 :(得分:0)

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

解决:

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