Ruby gem mysql2安装错误

问题描述:

我在Ruby7中安装了Ruby版本的ruby 1.9.2p0(2010-08-18)[i386-mingw32]。 和宝石1.3.7Ruby gem mysql2安装错误

当我试图安装MySQL宝石,它显示Failed to build gem native extension错误,为什么这是?我的mysql版本是5.1.36(WampServer)

E:\RubyApps\test_app2>gem install mysql2 
Building native extensions. This could take a while... 
ERROR: Error installing mysql2: 
     ERROR: Failed to build gem native extension. 

E:/Ruby192/bin/ruby.exe extconf.rb 
checking for rb_thread_blocking_region()... *** 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=E:/Ruby192/bin/ruby 
E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to genera 
te an executable file. (RuntimeError) 
You have to install development tools first. 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:435:in `try_link0' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:440:in `try_link' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:552:in `try_func' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:797:in `block in have_func' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postp 
one' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:276:in `postpone' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for' 
     from E:/Ruby192/lib/ruby/1.9.1/mkmf.rb:796:in `have_func' 
     from extconf.rb:9:in `<main>' 


Gem files will remain installed in E:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0. 
2.3 for inspection. 
Results logged to E:/Ruby192/lib/ruby/gems/1.9.1/gems/mysql2-0.2.3/ext/mysql2/ge 
m_make.out 

E:\RubyApps\test_app2> 
+6

如果你仍然有问题(我一样)创业板安装mysql2 -v 0.2.6 – 2011-04-06 05:51:13

由于这个问题不断出现在谷歌上,因此我应该指出这个答案大约是在2年前。下面是更多,更新的答案:How to use "mysql2" gem in Rails 3 application on Windows 7?


据开发商有一个已经为它报告的bug,他正在为Windows系统离别mysql2。截至目前 - 它仍在工作中。现在使用旧的mysql驱动程序 - 或者使用sqlite进行本地开发。

这是从Google网上论坛讨论

块引用 嘿艾万, 有一个在mysql2问题跟踪器支持Win32已经 在http://github.com/brianmario/mysql2/issues#issue/8票。你可以按照 它的进步;我正在尽我所能,让你们的工作顺利进行,为 。坚持! :)

key:表示你必须先安装开发工具。 ref:devkit

+0

我已经安装了开发工具! – 2010-09-08 06:02:18

+0

粘贴您的输出日志,并确保其他宝石安装好(如“rdiscount”宝石)。我的猜测是你想要的MySQL宝石? – rogerdpack 2010-09-08 13:58:42

只是为了记录:问题应该解决!

mysql2 gem v.0.2.6出来了,拥有win32支持。

gem install mysql2现在工作没有问题。

参见:http://github.com/brianmario/mysql2/issues/issue/8#issue/8/comment/479748

+1

-1:即使与mysql2 0.2.6即时通讯获得相同的错误 – Zasz 2011-09-03 14:38:53

使用

gem install mysql 

窗户,直到mysql2得到它的权利。

您是否正确安装了DevKit?如果有疑问,请交叉检查安装步骤 - http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html

我能够按照以下步骤安装mysql2 gem。

它的工作原理, C:>创业板安装mysql2 - “--with-mysql的-LIB = “C:\ PROG RAM文件\ MySQL的\ MySQL的插头C 6.0.2 \ LIB \选择” - 与MySQL的 - 包括= “C:\ PROGRA M档\ MySQL的\ MySQL的插头C 6.0.2 \包括””

暂时提升路径包括...的devkit

大厦原生扩展。这可能需要一段时间...

成功安装了mysql2-0.3。6

1宝石安装

安装用于mysql2-0.3.6 RI文档...

封闭类/模块 'mMysql2' 的未知

为mysql2-安装RDoc文档类的客户端0.3.6 ...

封闭类/模块 'mMysql2' 类客户端不知道

注:

一,如果没有lib和在你的mysql include目录然后安装mysql连接器C

II。首先安装的devkit那么只有你可以在窗口 https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

如果您在Linux中的这个同样的问题,安装mysql2插件,基本上你只需要先安装一些库。这对我有效。

> sudo apt-get install libmysql-ruby libmysqlclient-dev 

> gem install mysql 

来源:http://heatware.net/ruby-rails/solved-installing-mysql-gem-extconf-rb-failed-error/

+1

这正是我需要在Ubuntu上。谢谢。 – emilebaizel 2012-04-12 17:29:05

+0

这对于我在Ubuntu 12.04中工作! – 2012-07-06 11:35:59

+0

任何想法什么需要不要为mac同一问题 – 2012-07-30 03:44:32

在Cygwin的,我必须确保安装不只是libmysqlclient18,还的libmysqlclient-devel的。然后“gem install mysql2”进行得很好。

Cygwin中还有一个ruby-mysql2软件包。

您可以尝试

gem install mysql2 -v '0.0.00' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include