在Windows 7上安装Ruby MYSQL2 gem安装

我试图在Windows 7上安装mysql2 gem我从mysql网站下载了连接器,并将libmysql.dll放在ruby200 \ bin

然后做gem安装mysql2

这些是我在这里昏迷的结果?

Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. C:/Ruby200/bin/ruby.exe extconf.rb 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 *** 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. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=C:/Ruby200/bin/ruby --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=${mysql-dir}/include --with-mysql-lib --without-mysql-lib=${mysql-dir}/ extconf.rb:37:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError ) Gem files will remain installed in C:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0. 3.13 for inspection. Results logged to C:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.13/ext/mysql2/g em_make.out 

编辑30/09/2014

当这个答案发布64位轨安装程序不是推荐的版本 – 现在似乎人们开始使用它更多。 在下载MySQL连接器时需要注意的是,您需要下载64位或32位以对应您安装的导轨版本。

令人惊讶的是,今天早上我很幸运地find了答案,因为我正好在寻找其他类似的东西。 我不太清楚为什么没有一个简单的指导,因为它似乎是非常简单的!

出于某种原因,只要在安装gem时指定mysql-dir,就不会在其他子目录中出现,因此您需要手动设置参数。

对于遇到同样问题的其他人,我做了以下工作:

1)从以下位置下载MySql C连接器: http : //dev.mysql.com/downloads/connector/c/

注意不要下载安装程序,下载操作系统的ARCHIVE

下载32位或64位ARCHIVE档案以符合您安装的导轨版本。

2)将文件解压到C:\ mysql-connector

3)然后跑:

  gem install mysql2 --platform=ruby -- '--with-mysql-lib="C:\mysql-connector\lib" --with-mysql-include="C:\mysql-connector\include" --with-mysql-dir="C:\mysql-connector"' 

瞧,一切工作正常。

编辑30/01/2014

我只需要在砖机上进行全新的安装,第3步中的命令不起作用,那么工作是什么:

 gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:\mysql-connector"' 

我不太清楚这个区别是什么,但是这一次它好像是在拾取目录,所以如果第一个不行的话就试试这个!

我认为这与你如何安装rails有关,这次我使用了railsinstaller,它似乎正确设置了path。

这里的很多结果似乎取决于你使用的shell,很多人都遇到了PowerShell的问题,所以我不build议使用它。 我在一个提升的命令提示符下做了这个。

哦,最后如果你在使用RAILS S的时候遇到mysql2 gem的错误,你需要将libmysql.dll从mysql连接器的LIB目录复制到已经安装了rails的bin目录中。

我已经尝试了@Mrk Fldig的解决scheme,但它没有工作…所以解决了这个问题是:

  1. 下载最新的MySQL 安装程序的Windows 7 32位
  2. 使用以下命令安装gem: gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:/Program Files/MySQL/MySQL Connector C 6.1 6.1.2/"'

需要注意的一个误区是我将反斜杠(\)更改为正常斜杠(/)。 我已经用反斜杠尝试了相同的过程,并没有工作。

安装程序已在MySQL Connector C 6.1 6.1.2目录中包含用于MySQL的C连接MySQL Connector C 6.1 6.1.2 。 因此,仅传递--with-mysql-dir参数而不使用--with-mysql-lib--with-mysql-include参数,可使gem查看libinclude目录的相同目录

Ruby 2.1.3,Windows 8.1和MySQL Server 5.7的步骤 所有的x64位。

  1. 下载开发工具包
  2. 提取的开发工具包。
  3. 运行CMD并转到开发工具包提取的目录
  4. 运行ruby dk.rb init
  5. 运行ruby dk.rb install
  6. 运行gem install mysql2 -- '--with-mysql-lib="c:\Program Files\MySQL\MySQL Server 5.7\lib" --with-mysql-include="c:\Program Files\MySQL\MySQL Server 5.7\include" --with-mysql-dir="c:\Program Files\MySQL\MySQL Server 5.7"'

这对于Windows 8 64位和使用64位ruby的同样的错误是我的工作

  1. 下载并安装MySQL Server 5.6 64位
  2. 运行这个命令:

     gem install mysql2 -v '0.3.16' -- '--with-mysql-lib="c:\Program Files\MySQL\MySQL Server 5.6\lib" --with-mysql-include="c:\Program Files\MySQL\MySQL Server 5.6\include"' 

希望这可以帮助

我已经尝试了所有提供的方法,但同样的错误一次又一次出现:(

幸运的是,安装的旧版本没有任何错误!

 gem uninstall mysql2 gem install mysql2 -v 0.2.6 

尝试遵循以下步骤:

我假设:

  • a)你使用windows7
  • b)在C:\ Ruby200-x64上使用ruby 2+
  • c)安装在ruby上的导轨4+
  • d)安装在C:\ wamp上的WAMP正在运行

1)卸载你的myslq2gem:

 $ gem uninstall mysql2 

2)用path选项重新安装mysql2 gem:

 $ gem install mysql2 -- '--with-mysql-lib="C:\wamp\bin\mysql\mysql5.6.12\lib" --with-mysql-include="C:\wamp\bin\mysql\mysql5.6.12\include"' 

3)将您在C:\ wamp \ bin \ mysql \ mysql5.6.12 \ lib中find的libmysql.dll复制到C:\ Ruby200-x64 \ bin

4)在你的Rails应用程序中打开文件“Gemfile”,并编辑启用mysql2,通过添加:

 gem 'mysql2' 

5)启动你的rails服务器:

 $ rails server 

6)打开浏览器并转到localhost:3000 /

我仍然有问题与MySQL2的gem,但下面的方法帮助我在Windows环境安装与RoR的MySQL。

第1步:Gem文件更改:({app} / Gemfile)

更新mysql2 – > mysql

第2步:更新database.yml文件({app} /config/database.yml)

更改适配器:mysql2 – > adapter:mysql

host:localhost – > host:127.0.0.1

第3步:下载mysql-connector-c-noinstall-6.0.2-win32

步骤4:将mysql-connector-c-noinstall-6.0.2-win32 \ lib \ libmysql.dll文件复制到C:\ RailsInstaller \ Ruby1.9.3 \ bin

第5步:捆绑更新&&开始rails服务器

以下是对我有用的东西:

 gem install mysql2 -- '--with-mysql-dir="C:\wamp\bin\mysql\mysql5.5.xx"' 

已经search了几个小时,并没有看到这种变化build议,所以希望它会帮助别人!

也请尝试在安装gem之前禁用您的防病毒软件。 在我运行以下命令之后,我安装了:

 gem install mysql2 --platform=ruby -- '--with-mysql-lib= "C:\mysql-connector\lib" --with-mysql-include="C:\mysql-connector\include" --wit h-mysql-dir="C:\mysql-connector"' 

当我的杀毒软件被启用时,同样的命令不起作用,因为它将一些ruby文件推送到胸部。 希望这有助于某人。

对于Cygwin,我可以合并各个步骤。

  1. 使用cygwin setup.exe来下载gcc,g ++,make,cmake和libmysqlclient-devel(来自cygwin的端口)
  2. 从mysql网站下载windows的c / connector src。 我下载了6.x版本。 或者下载libmysqlclient-devel的版本(不知道从哪里)
  3. 拉开拉链
  4. cd dir_connector
  5. 不要求和风险,但如果cygwin libmysqlclient-devel版本是5.5.40,则将dir_connector / VERSION文件的版本更改为5.5.40
  6. mkdir构build
  7. CDbuild立
  8. 在stdlib.h中注释dtoa,否则编译失败
  9. cmake ..
  10. 使
  11. 进行安装
  12. gem install mysql2 – –with-mysql-config = / usr / local / mysql / bin / mysql_config

我用我的64位电脑下载了32位的devkit,但是我意识到railsinstaller默认安装了一个32位的版本,所以我已经指挥了所有的32位设备。

初始化ruby devkit dk.rb init

下载32位的mysql连接器,并将其放在mysql连接器C:\ mysql-connector中

你应该知道,当你解压文件时,它会创build一个具有相同名字的子文件夹,并且可以给出错误信息。

然后使用上面列出的第二个命令:

 gem install mysql2 - platform = ruby - '- with-mysql-dir = "C: \ mysql-connector"' 

这是我find的解决scheme,因为我有同样的问题。

在Windows 7上,我发现现有的答案提供了一个部分的解决scheme,但我仍然无法得到它的安装。

我遇到的问题是我使用的MySQL社区版Windows安装程序坚持把连接器放在名为C:\MySQL\MySQL Connector C 6.1.3类的文件夹中。 在创buildgem的过程中报告,它找不到“C:\ MySQL \ MySQL”(之前,当我在Program Files中,它抱怨找不到“C:\ Program \ includes”)显然空间是一个问题,我找不到一个可以理解的方法来逃避它们 – 可能有人能够提出其中的一个。

因为我不确定是否改变这些会破坏安装,一旦我意识到问题出现的原因,我只是从命令行创build一个符号链接(从cmd比powershell更容易),像这样:

 C:\MySQL> mklink /D ConnectorC ".\MySQL Connector C 6.1.3" 

然后我可以使用下面的安装行:

  gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:/MySQL/ConnectorC/"' 

这工作正常。

另外,当我尝试使用它时,遇到了这个问题,因此注意从C Connector lib文件夹移动MySQL lib文件可能会有帮助。

我设法在纯粹的运气下取得了成功,但经过一个小时的地狱之后,我觉得我应该分享我的解决scheme,显然是非常缩短的,但是我认为你可以自己想办法解决很多问题。

我的机器是Win 7 64bit。 我能够安装0.3.16版本

  1. 安装ruby版本2.0.0p481(?)
  2. Devkit等等等等
  3. 安装rails版本4.0.0
  4. 下载Mysql Connector C 64位zip文件,放入C盘作为mysqlc
  5. 从该bin中取出DLL,放入ruby的lib文件中
  6. gem install mysql2 – – with-mysql-dir =“C:\ mysqlc”

它增加了一些调整后为我工作

 gem install mysql2 --platform=ruby -- '--with-mysql-lib="C:\Program Files\MySQL\MySQL Connector C 6.1.5\lib" --with-mysql-include="C:\Program Files\MySQL\MySQL Connector C 6.1.5\include" --with-mysql-dir="C:\Program Files\MySQL\MySQL Connector C 6.1.5" 

直到我意识到我已经安装了DevKit的64位版本之前,这些工作对我都没有帮助。 于是我从MySQL网站上下载了64位的MySQL Connector / C

并用“with-mysql-dir”选项安装了gem

这是我为Windows Server 2012 SP2所做的。 没有别的工作…

'while installing mysql2 (0.3.17), and bundler cannot continue' Make sure that 'gem install mysql2 -v '0.3.17' succeeds...收到错误'while installing mysql2 (0.3.17), and bundler cannot continue' Make sure that 'gem install mysql2 -v '0.3.17' succeeds...

1)从以下位置下载MySql C连接器: http : //dev.mysql.com/downloads/connector/c/

2) Extract the file to C:\mysql-connector

3) gem install mysql2 -v '0.3.17' --platform=ruby -- '--with-mysql-dir="C:\mysql-connector"'

注意:-v'0.3.17'以上,没有这个就不行。

4) bundle install – >最后,成功。