Gem install Mysql2的問題

運行 ‘bundle install’ 或者 ‘gem install mysql2′ 遇到以下錯誤mysql

> 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'

 

或者是git

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

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

通常是由於沒有安裝編譯器和沒有安裝mysqlgithub

最簡單的解決辦法:sql

若是rails 版本<3.1.0就安裝mysql 0.2.6。若是rails 版本是3.1.*才須要安裝mysql 0.3.*。切記!windows

默認安裝的是mysql2 0.3.7,這個版本變化較多,能夠安裝舊版本gem,經測試安裝0.2.6不會報錯。ruby

gem install mysql2 -v 0.2.6

若是你必定要安裝最新版本,能夠參照下面方法。bash

Linux下解決方法:服務器

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

Windows下比較麻煩,要先安裝DevKit和Mysql。測試

安裝DevKit見個人另外一篇文章 windows下安裝DevKitui

安裝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/
相關文章
相關標籤/搜索