繁体   English   中英

Rails mysql2错误:“rake aborted!请安装mysql2适配器...“

[英]Rails mysql2 error: “rake aborted! Please install the mysql2 adapter…”

我在Windows 7(64位)计算机上运行它。 我使用一键安装程序安装了RoR。 我已经更新了我的database.yml文件以使用mysql2:

development:
  adapter: mysql2
  encoding: utf8
  database: blog_development
  pool: 5
  username: root
  password: 
  socket: /tmp/mysql.sock
test:
  adapter: mysql2
  encoding: utf8
  database: blog_test
  pool: 5
  username: root
  password: 
  socket: /tmp/mysql.sock

production:
  adapter: mysql2
  encoding: utf8
  database: blog_production
  pool: 5
  username: root
  password: 
  socket: /tmp/mysql.sock

我将这一行添加到我的Gemfile中(根据教程视频):

gem 'mysql2', :group => :production

然后:

gem install mysql2

哪个成功了。 然后:

bundle install

哪个也成功了,但没有列出mysql2。

然后:

rake db:create

这给出了这个错误:

“rake aborted!请安装mysql2适配器: gem install activerecord-mysql2-adapter (我的sql2不是bundle的一部分。将它添加到Gemfile。)任务:TOP => db:create(通过运行任务查看完整跟踪 - -跟踪)”

bundle show mysql2

给出了这个错误:“无法在当前包中找到gem'mysql2'。”

我错过了什么让mysql2进行?

转到您的应用

  1. 打开Gemfile
  2. 添加此行

    宝石'mysql2'

rake db:create之前运行bundle install (在gem install mysql2

类似的问题在我之后解决了

  • 根据https://github.com/brianmario/mysql2/issues/486创建libmysql.lib文件并使用它来安装/编译本机gems(lib驻留在用于“--with-mysql-lib =”$ mysql的目录中top_path / lib“”gem安装)
  • 将libmysql.dll放到ruby_top bin文件夹中
  • 安装mysql和mysql2宝石(虽然database.yml到处都有“adapter = mysql2”,但是安装了mysql2 gem却得到了完全相同的错误)。

在命令“bundle install”之后,mysql2出现在gem列表中之后,我能够成功运行“rake db:create”,在webrick上使用x64 mysql在x64 ruby​​ 2.0上启动redmine x64 windows,继续配置某些生产服务器。

===============

更新

我必须确切地说,除了安装mysql和mysql2之外,我在redmine应用程序顶级目录中创建了文件Gemfile.local,这可能是用bundler制作的。 所以我建议用以下代码替换最后一步:

  • 安装mysql2 gem
  • 在应用程序顶层目录中创建文件Gemfile.local,在该目录中列出要包含在捆绑包中的本地gem。

我看到另一个建议将mysql2 gem添加到Gemfile的答案,但是对于我来说,mysql2已经包含在Gemfile中但是在添加到Gemfile.local后才出现在bundler输出中。

我离开这两个解决方案,如果我错了,诀窍是由mysql gem与mysql2一起安装完成的,不幸的是我现在无法从头开始删除/重新安装以测试,我肯定会在我能够做的时候更新所以,希望这一切都能节省一些时间。

我的Gemfile.local文件内容是:

--- 8 <---

gem“mysql2”,“〜> 0.3.11”

宝石“eventmachine”

宝石“瘦”

--- 8 <---

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM