Gem install Mysql2的问题

Posted VMT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gem install Mysql2的问题相关的知识,希望对你有一定的参考价值。

运行 ‘bundle install’ 或者 ‘gem install mysql2′ 遇到如下错误

> gem install mysql2
ERROR:  Error installing mysql2:
        The ‘mysql2‘ native gem requires installed build tools.

Please update your PATH to include build tools or download the DevKit
from ‘http://rubyinstaller.org/downloads‘ and follow the instructions
at ‘http://github.com/oneclick/rubyinstaller/wiki/Development-Kit‘

 

或者是

Error installing mysql2:
ERROR: Failed to build gem native extension.

C:/Ruby192/bin/ruby.exe extconf.rb

一般是因为没有安装编译器和没有安装mysql

最简单的解决办法:

如果rails 版本<3.1.0就安装mysql 0.2.6。如果rails 版本是3.1.*才需要安装mysql 0.3.*。切记!

默认安装的是mysql2 0.3.7,这个版本变化较多,可以安装旧版本gem,经测试安装0.2.6不会报错。

gem install mysql2 -v 0.2.6

如果你一定要安装最新版本,可以参照下面方法。

Linux下解决方法:

# sudo apt-get install libmysql-ruby libmysqlclient-dev

Windows下比较麻烦,要先安装DevKit和Mysql。

安装DevKit见我的另一篇文章 windows下安装DevKit

安装Mysql就不细说了,下载后双击即可

以上两步完成后,要这样安装mysql2

> gem install mysql2 -- ‘--with-mysql-dir="C:\Program Files\MySQL\MySQL Server 5.5"‘
#一定要注意引号,很多朋友忘记带引号,导致安装出错
Updating installed gems
Updating mysql2
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
Successfully installed mysql2-0.3.2
Gems updated: mysql2
Installing ri documentation for mysql2-0.3.2...
Enclosing class/module ‘mMysql2‘ for class Client not known
Installing RDoc documentation for mysql2-0.3.2...
Enclosing class/module ‘mMysql2‘ for class Client not known

这表示安装成功了,但是使用时可能还会报错。

最后一步:将mysql安装目录下的bin下的libmysql.dll复制到 ruby安装目录/lib下。

注意:为保证版本一致,libmysql.dll不要从网上下载。尽量从自己安装目录下复制。

附:

有时启动服务器时报错

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

但是当gem install activerecord-mysql2-adapter 时会报找不到这个gem。

一般是因为安装的mysql2版本过新,因为mysql2 0.3.2版本开始放弃支持rails 3.0.*。

解法:

gem uninstall mysql2
gem install mysql2 -v 0.2.7

参考文献:http://rubyer.me/blog/138/





以上是关于Gem install Mysql2的问题的主要内容,如果未能解决你的问题,请参考以下文章

gem install mysql2 v '0.3.11' 不适用于优胜美地

`block in replace_gem': Please install the mysql2 adapter: `gem install activerecord-mysql2-adap

通过 Bundler 安装 mysql2 gem 时出错

安装 mysql2 gem 错误

mysql2 gem 的 Gem::LoadError,但它已经在 Gemfile 中

gem列表中的mysql2 gem但获取项目找不到gem