[英]Ruby gem mysql2 install error
我在Windows7中安装了Ruby版本ruby 1.9.2p0(2010-08-18)[i386-mingw32]。 和宝石版1.3.7
当我尝试安装mysql gem时,显示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>
如果您在Linux中遇到同样的问题,基本上,您只需要首先安装一些库即可。 这对我有用。
> sudo apt-get install libmysql-ruby libmysqlclient-dev
> gem install mysql
来源: http : //heatware.net/ruby-rails/solved-installing-mysql-gem-extconf-rb-failed-error/
由于这一直是Google排名最高的结果,因此我应该指出,这个答案来自大约2年前。 这是更新的答案: 如何在Windows 7的Rails 3应用程序中使用“ mysql2” gem?
根据开发人员的说法,已经有一个针对它的错误报告,他正在将mysql2移交给Windows。 截至目前-它仍在开发中。 现在使用较旧的mysql驱动程序-或使用sqlite进行本地开发。
这是来自googlegroups的讨论
Blockquote Hey Erwann,已经在http://github.com/brianmario/mysql2/issues#issue/8上提供了有关Win32支持的mysql2问题跟踪器的票证。 您可以跟随它前进; 我正在尽力使你们的工作顺利进行。 等一下 :)
仅作记录:应该解决问题!
mysql2 gem v.0.2.6已发布,具有win32支持。
gem install mysql2
现在可以gem install mysql2
工作了。
参见: http : //github.com/brianmario/mysql2/issues/issue/8#issue/8/comment/479748
它可以正常工作,c:> gem install mysql2-'--with-mysql-lib =“ C:\\ Prog ram Files \\ MySQL \\ MySQL Connector C 6.0.2 \\ lib \\ opt” --with-mysql-include =“ C:\\ Progra m Files \\ MySQL \\ MySQL Connector C 6.0.2 \\ include“'
暂时增强PATH以包括DevKit ...
构建本机扩展。 这可能需要一段时间...
成功安装mysql2-0.3.6
已安装1个宝石
正在安装mysql2-0.3.6的ri文档...
封闭类Client的类/模块'mMysql2'
正在安装mysql2-0.3.6的RDoc文档...
封闭类Client的类/模块'mMysql2'
注意:
I.如果您的mysql中没有lib和include目录,则安装mysql连接器c
二。 首先安装DevKit,然后只有您可以在Windows https://github.com/oneclick/rubyinstaller/wiki/Development-Kit中安装mysql2插件
在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
您是否已正确安装DevKit? 如果怀疑,交叉检查的安装步骤上- http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html
完成以下步骤后,我能够安装mysql2 gem。
关键:这行提示您必须首先安装开发工具。 参考:devkit
使用
gem install mysql
对于Windows,直到mysql2正确为止。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.