【问题标题】:Ruby gem mysql2 install errorRuby gem mysql2 安装错误
【发布时间】:2011-04-09 00:40:15
【问题描述】:

我在 Windows7 中安装了 Ruby 版本 ruby​​ 1.9.2p0 (2010-08-18) [i386-mingw32]。 和 gem vesion 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>

【问题讨论】:

  • 如果你仍然有问题(我有) gem install mysql2 -v 0.2.6

标签: ruby installation rubygems


【解决方案1】:

key:表示您必须先安装开发工具的行。 参考:devkit

【讨论】:

  • 粘贴您的输出日志并确保其他 gem 安装正常(如“rdiscount” gem)。我猜你想要 mysql gem?
【解决方案2】:

由于这在谷歌上不断出现在最佳结果中,我应该指出,这个答案来自近 2 年前。这是一个更新的答案:How to use "mysql2" gem in Rails 3 application on Windows 7?


根据开发人员的说法,已经报告了一个错误,他正在努力将 mysql2 与 Windows 分开。截至目前 - 它仍在进行中。现在使用较旧的 mysql 驱动程序 - 或使用 sqlite 进行本地开发。

这是来自 googlegroups 的讨论

块引用 嘿,埃尔万, mysql2 issue tracker 上已经有一张支持 Win32 的票 在http://github.com/brianmario/mysql2/issues#issue/8。你可以关注 它是为了进步;我正在尽我最大的努力让事情顺利进行 你们。抱紧! :)

【讨论】:

    【解决方案3】:

    记录一下:问题应该解决了!

    mysql2 gem v.0.2.6 已经发布,支持win32。

    gem install mysql2 现在可以正常工作了。

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

    【讨论】:

      【解决方案4】:

      使用

      gem install mysql
      

      对于 windows,直到 mysql2 正确为止。

      【讨论】:

        【解决方案5】:

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

        按照这些步骤后,我能够安装 mysql2 gem。

        【讨论】:

          【解决方案6】:

          它有效, c:> gem install mysql2 -- '--with-mysql-lib="C:\Prog ram 文件\MySQL\MySQL 连接器 C 6.0.2\lib\opt" --with-mysql-include="C:\Progra m Files\MySQL\MySQL 连接器 C 6.0.2\include"'

          暂时增强 PATH 以包含 DevKit...

          构建原生扩展。这可能需要一段时间...

          成功安装mysql2-0.3.6

          已安装 1 个宝石

          正在为 mysql2-0.3.6 安装 ri 文档...

          为未知的类客户端封闭类/模块“mMysql2”

          正在为 mysql2-0.3.6 安装 RDoc 文档...

          为未知的类客户端封闭类/模块“mMysql2”

          注意:

          我。如果您的 mysql 中没有 lib 和 include 目录,则 安装 mysql 连接器 c

          二。先安装DevKit,然后windows只能安装mysql2插件 https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

          【讨论】:

            【解决方案7】:

            如果你在 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/

            【讨论】:

            • 任何想法对于同一问题的mac不需要什么
            • 你可能想看看这个线程stackoverflow.com/a/6131858/834216。他们建议使用自制软件安装它
            • 谢谢你!在 Ubuntu 12.04 上工作并解决了我的问题
            【解决方案8】:

            在 Cygwin 下,我必须确保不仅安装 libmysqlclient18,还安装 libmysqlclient-devel。然后“gem install mysql2”就好了。

            当然,Cygwin 中还有一个 ruby​​-mysql2 包。

            【讨论】:

              【解决方案9】:

              你可以试试

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2012-12-21
                • 2011-08-12
                • 1970-01-01
                • 2011-05-06
                • 1970-01-01
                • 2011-05-02
                相关资源
                最近更新 更多