Error installing mysql2 gem: Failed to build gem native extension

廉价感情. 提交于 2019-12-23 12:00:07

问题


Windows XP. Ruby 1.9.2. Rails installed. MySQL installed. When I try to run gem install mysql2 (or bundle install) I get errors:

C:\ruby\cred2>gem install mysql2
Building native extensions.  This could take a while...
ERROR:  Error installing mysql2:
        ERROR: Failed to build gem native extension.

C:/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=C:/Ruby192/bin/ruby
C:/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 C:/Ruby192/lib/ruby/1.9.1/mkmf.rb:435:in `try_link0'
        from C:/Ruby192/lib/ruby/1.9.1/mkmf.rb:440:in `try_link'
        from C:/Ruby192/lib/ruby/1.9.1/mkmf.rb:552:in `try_func'
        from C:/Ruby192/lib/ruby/1.9.1/mkmf.rb:797:in `block in have_func'
        from C:/Ruby192/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
        from C:/Ruby192/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postp
one'
        from C:/Ruby192/lib/ruby/1.9.1/mkmf.rb:254:in `open'
        from C:/Ruby192/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
        from C:/Ruby192/lib/ruby/1.9.1/mkmf.rb:254:in `open'
        from C:/Ruby192/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
        from C:/Ruby192/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
        from C:/Ruby192/lib/ruby/1.9.1/mkmf.rb:796:in `have_func'
        from extconf.rb:9:in `<main>'


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

C:\ruby\cred2>

回答1:


Just for the record: The problem should be solved!

The mysql2 gem v.0.2.6 is out, having win32 support.

gem install mysql2 worked without problems now (DevKit installed).

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




回答2:


I guess that this gem uses C bindings and so has to be compiled. To do that in Windows you'd probably need to have the whole mingw (or possibly cygwin) environment set up. And still, I'm not sure this will help.

You can try to use mysql or ruby-mysql on your Windows machine.




回答3:


if you haven't installed DevKit yet, this is the way to go.

I did it yesterday it worked perfectly (i have a Win XP box too).

the installation process is relatively straightforward (but well documented)

http://www.rubyinstaller.org/add-ons/devkit/



来源:https://stackoverflow.com/questions/3933829/error-installing-mysql2-gem-failed-to-build-gem-native-extension

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!