在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,但它没有工作…所以解决了这个问题是:
- 下载最新的MySQL 安装程序的Windows 7 32位
- 使用以下命令安装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查看lib
和include
目录的相同目录
Ruby 2.1.3,Windows 8.1和MySQL Server 5.7的步骤 所有的x64位。
- 下载开发工具包
- 提取的开发工具包。
- 运行CMD并转到开发工具包提取的目录
- 运行
ruby dk.rb init
- 运行
ruby dk.rb install
- 运行
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的同样的错误是我的工作
- 下载并安装MySQL Server 5.6 64位
-
运行这个命令:
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,我可以合并各个步骤。
- 使用cygwin setup.exe来下载gcc,g ++,make,cmake和libmysqlclient-devel(来自cygwin的端口)
- 从mysql网站下载windows的c / connector src。 我下载了6.x版本。 或者下载libmysqlclient-devel的版本(不知道从哪里)
- 拉开拉链
- cd dir_connector
- 不要求和风险,但如果cygwin libmysqlclient-devel版本是5.5.40,则将dir_connector / VERSION文件的版本更改为5.5.40
- mkdir构build
- CDbuild立
- 在stdlib.h中注释dtoa,否则编译失败
- cmake ..
- 使
- 进行安装
- 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版本
- 安装ruby版本2.0.0p481(?)
- Devkit等等等等
- 安装rails版本4.0.0
- 下载Mysql Connector C 64位zip文件,放入C盘作为mysqlc
- 从该bin中取出DLL,放入ruby的lib文件中
- 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
– >最后,成功。