運行 ‘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/