• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
VMT
博客园    首页    新随笔    联系   管理    订阅  订阅

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/

posted @ 2017-08-24 11:48  VMT  阅读(1250)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3