Ruby on Rails安装问题(Windows)

我从RuyInstaller安装了Ruby 2.0.0和DevKit。 创build新项目时出现错误消息:

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没有任何错误?

Solutions Collecting From Web of "Ruby on Rails安装问题(Windows)"

您需要MySQL 32位(或MySQL Connector C )编译Windows上的mysql2 gem编译(即使您使用的是64位版本的操作系统)。

按着这些次序:

  1. 下载MySQL服务器32位.zip文件(或者MySQL连接器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"' 

这是我的故事。 试图在Windows 7上安装与devkit mysql2宝石。 首先,您需要安装连接器库和标头。 不要使用默认文件夹“程序文件”,宝石未能包含空格的文件夹。 我已经通过subst X:\“C:\ Program File \ Mysql Connector 6 C \”来下载连接器文件夹,然后使用下面的cmd:gem install mysql2 – –with-mysql-dir = X:\然后意识到我使用32位红宝石的64位连接器库。 重新安装连接器。 然后成功安装了宝石。 但没有运行,抱怨缺少mysql dll。 所以,我已经把libmysql.dll和* .lib放到ruby \ bin文件夹中。 毕竟这是能够用户mysql2宝石。

如果你想使用64位MySQL,你应该按照这里的说明(也在这里 )。

还有一个定制的64位连接器 ,没有麻烦工作。