簡體   English   中英

Ruby on Rails安裝問題(Windows)

[英]Ruby on Rails installation issue (Windows)

我從RuyInstaller安裝了Ruby 2.0.0和DevKit。 我在創建新項目時出現錯誤消息:

rails new testtest -d mysql

..... a lot of output here ........

Installing mysql2 (0.3.14)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    C:/Ruby200/bin/ruby.exe extconf.rb
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

如何安裝依賴項以使這個gem沒有任何錯誤?

您需要MySQL 32位(或MySQL Connector C )來編譯Windows上的mysql2 gem編譯(即使您使用的是64位版本的操作系統)。

跟着這些步驟:

  1. 下載MySQL Server 32位.zip文件(或者MySQL Connector C也沒關系)
  2. libmysql.dll復制到%RUBY_HOME%\\bin (或者只是將MySQL 32位lib目錄添加到PATH)
  3. 使用--with-mysql-lib--with-mysql-include選項安裝mysql2 gem

     gem install mysql2 -- '--with-mysql-lib="c:\\path\\to\\32-bit-MySQL-Server\\lib\\opt" --with-mysql-include="c:\\\\path\\to\\32-bit-MySQL-Server\\include"' 

這是我的故事。 試圖用devkit在windows 7上安裝mysql2 gem。 首先,您需要安裝連接器庫和標頭。 不要使用默認文件夾“Program Files”,gem無法包含帶空格的文件夾。 我通過子X:\\“C:\\ Program File \\ Mysql Connector 6 C \\”對連接器文件夾進行了修改,然后使用以下cmd:gem install mysql2 - --with-mysql-dir = X:\\然后意識到我使用32位紅寶石的64位連接器庫。 重新安裝連接器。 然后gem成功安裝。 但未能運行,抱怨缺少mysql dll。 所以,我把libmysql.dll和* .lib放到ruby \\ bin文件夾中。 畢竟這是能夠用戶mysql2的寶石。

如果你想使用64位MySQL,你應該按照這里的說明(也在這里 )。

還有一個定制的64位連接器 ,無需麻煩。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM