运行 ‘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的问题的更多相关文章

  1. bundle install 出现 &#39;gem install mysql2 -v &#39;0.3.15&#39; succeeds before bunding &#39;

    bundle install 出现  'gem install mysql2 -v '0.3.15' succeeds before bunding ' 解决:sudo apt-get install ...

  2. windows rails new demo时候出错Make sure that `gem install mysql2 -v '0.3.15'` succeeds before bundling.

    rails new demo --database=mysql最后报错Gem files will remain installed in D:/BillFiles/rails_dev/Ruby193 ...

  3. gem install mysql遇到问题。解决方案

    今天遇到的问题,是使用gem install mysql遇到的.报下面的错误 Building native extensions. This could take a while... ERROR: ...

  4. mac gem install nokogiri error

    Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /Users/angela/.rbenv/versions/1.9 ...

  5. OSX 10.11 cocoapods安装命令: sudo gem install -n /usr/local/bin cocoapods

    10.11 cocoapods安装命令: sudo gem install -n /usr/local/bin cocoapods

  6. gem install 出现Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://api.rubygems.org

    在安装了rvm来管理多版本的ruby之后,想在不同环境下安装一些gems,结果gem install puma 之后,发现一次又一次失败. gem install 出现Errno::ECONNRESE ...

  7. sudo gem install cocoapods 没反应问题

    1. 尝试更新 sudo gem update --system 2. 查看安装详细 sudo gem install cocoapods -V 3.详细使用有个链接 http://blog.csdn ...

  8. ruby on rails gem install pg时无法安装

    gem install pg -v '0.18.2' Building native extensions. This could take a while... ERROR: Error insta ...

  9. gem install factory_girl

    文章是从个人博客转过来的,  可以直接访问 iwangzheng.com https://github.com/thoughtbot/factory_girl https://github.com/t ...

随机推荐

  1. python学习:常量和变量

    变量的作用:存储信息,日后被调用和修改操作. 常量:固定不变得量,字母要大些. 变量的命名规则: 1.由字母数字下划线组成: 2.不能以数字开头,不能含有特殊字符和空格: 3.不能以保留字命名: 4. ...

  2. SVN 提示clean up 进入死循环

    SVN在使用update命令时,提示使用“clean up ”命令,在使用clean up命令时报错“Previous operation has not finished; run 'cleanup ...

  3. word使用新技能

    office2013版,菜单栏-审阅-修订-所有标记,可以显示编辑过程中的所有修改步骤,还可查看未修改的原始状态.前提是“修订”按钮 要点亮! 给文档添加索引,并自动生成索引列表 文件-选项-显示-隐 ...

  4. __x__(43)0910第六天__ clearfix 解决:垂直外边距重叠,高度塌陷

    <div class="box1"> <tabl></table> <div class="box2">< ...

  5. checkbox 用css改变默认的样式

    <!--html--> <label class="bl_input_checkbox click_checkbox" che_data="10&quo ...

  6. Python学习之旅(三十八)

    Python基础知识(37):访问数据库(Ⅱ) 二.MySQL MySQL是Web世界中使用最广泛的数据库服务器.SQLite的特点是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用.而MyS ...

  7. 隐藏状态栏,toolbar前面空格问题,editText圆角

    EditText圆角: 一.在drawable下面添加xml文件rounded_editview.xml 复制代码 代码如下: <?xml version="1.0" enc ...

  8. 2019.4.10 初识puppeteer

    注:原地址:https://www.cnblogs.com/paris-test/p/9705075.html 一.Puppeteer 介绍 Puppeteer 翻译是操纵木偶的人,利用这个工具,我们 ...

  9. Nuxt.js调用asyncData

    <template> <div> Index {{ username }} </div> </template> <script> expo ...

  10. Python初始环境搭建和Pycharm的安装

    首先我们来安装python 1.首先进入网站下载:点击打开链接(或自己输入网址https://www.python.org/downloads/),进入之后如下图,选择图中红色圈中区域进行下载.