2013-08-07 319 views
0

我有問題在我的Windows機器上安裝mysql2寶石,通常它的工作,但現在我得到Failed to build native extension.我GOOGLE了,但有很多的Linux修補程序。我知道使用ruby在windows上工作並不是最好的。回到這個問題,我用gem install mysql2 -- --with-mysql-dir=C:\wamp\bin\mysql\mysql5.6.12\bin --with-mysql-lib=C:\wamp\bin\mysql\mysql5.6.12\lib安裝mysql2,它適用於mysql,但rails需要mysql2。紅寶石mysql2寶石安裝錯誤

謝謝。

+0

參考以下鏈接http://stackoverflow.com/questions/5836959/cant-install-mysql2-for-rails-3-on-windows –

回答

0

mysql2可能會很難安裝。我們只是得到了一個與Ruby 2.0.0p247,Windows 64位和MySQL 0.3.13一起工作的開發框。以下是一些建議:

  1. 確保安裝了最新的DevKit(http://rubyinstaller.org/downloads/)。在頁面的右欄中,它會告訴您您的特定版本的Ruby需要使用哪個版本的DevKit。我們發現將它安裝到C:\ DevKit最容易

  2. 現在嘗試運行gem install mysql2 ..。你在你的問題中列出的命令。另外,對於32位安裝,我們做的事:

 
subst X: "C:\Program Files (x86)\MySQL\MySQL Server 5.6" 
gem install mysql2 -v=0.3.13 --platform=ruby -- --with-mysql-include=X:\include --with-mysql-lib=X:\lib 
subst X: /d 

SUBST命令創建一個虛擬驅動器,並與路徑名的空間有所幫助。

  1. 將C:\ Program Files(x86)\ MySQL \ MySQL Server 5.6 \ lib \ libmysql.dll複製到您的Ruby bin目錄中。如果你使用32位,你應該關閉並運行。

然而,64位用戶一旦得到mysql2構建就可能會遇到另一個bug。上述步驟似乎可行,但是當他們真正使用mysql2 gem來做一些有用的事情時,比如運行rake db:create,他們會得到分段錯誤。有關此問題的更多信息和解決方法可在https://github.com/brianmario/mysql2/issues/372,https://bugs.ruby-lang.org/issues/8591,https://groups.google.com/forum/#!topic/rubyinstaller/uTNffOt6Yqo

長話短說,需要使用兼容的mysql連接器c來代替MySQL服務器目錄。有用的用戶提供了正確的連接器c,並且可以在此處下載(https://www.copy.com/s/CHZ4eT4us6f1/mysql-connector-c-noinstall-6.0.2-winx64.zip)。解壓縮該zip文件,然後將您的gem install mysql2 ...命令指向適當的目錄,然後將64bit快樂關閉。 (不要忘記從下載的連接器c文件夾中獲取libmysql.dll並將其放入ruby bin目錄中)。

+0

它不起作用 – unknownbits

+0

這對我們現在在多臺機器上工作。你的具體錯誤信息是什麼? –

+0

我認爲你錯過了 - - 平臺= ruby​​和--with-mysql-include之間的' - ',即它應該是gem install mysql2 -v = 0.3.13 --platform = ruby​​ - --with- mysql-include = x:\ include --with-mysql-lib = x:\ lib –

0

在命令提示符下執行此命令。

gem install mysql2 - '--with-mysql-lib =「c:\ Program Files \ MySQL \ MySQL Server 5.1 \ lib \ opt」--with-mysql-include =「c:\ Program Files \ MySQL \ MySQL Server 5.1 \ include「'

注意:根據您的安裝更改Mysql安裝目錄。
這應該是完美的

0

here下載連接器的32位Zip存檔。然後將提取的文件夾複製到C盤,以便於訪問的根源,使您的連接文件夾路徑將是這樣的

C:\mysql-connector-c-6.1.3-win32\ 

現在這行代碼複製到您的CMD和執行(記得要改與一個連接器版本號)

gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:/mysql-connector-c-6.1.3-win32/"' 

試圖爲我安裝成功mysql2寶石都以這種方式我32位和64位的Windows 7很長一段時間後。乾杯!