繁体   English   中英

Ruby gem mysql2安装错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM