代码之家  ›  专栏  ›  技术社区  ›  Mithun Sreedharan Kuldeep Modi

ruby gem mysql2安装错误

  •  13
  • Mithun Sreedharan Kuldeep Modi  · 技术社区  · 15 年前

    我在Windows7中安装了Ruby版本Ruby1.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>
    
    9 回复  |  直到 8 年前
        1
  •  6
  •   Community Mohan Dere    8 年前

    由于这一点一直在google上被列为最热门的搜索结果,我应该指出,这个答案来自于近两年前。以下是更新后的答案: How to use "mysql2" gem in Rails 3 application on Windows 7?


    据开发人员说,已经有一个关于mysql2的bug报告,他正在将mysql2与windows分离。到现在为止-它还在工作中。现在使用旧的mysql驱动程序,或者使用sqlite进行本地开发。

    这是谷歌小组讨论的结果

    块引用 嘿,Erwann, mysql2 issue tracker上已经有一张win32支持的通知单 在 http://github.com/brianmario/mysql2/issues#issue/8 . 你可以跟随 这是为了进步,我正在尽最大努力使事情顺利进行 你们。抓紧!:)

        2
  •  34
  •   Ryan    13 年前

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

        3
  •  2
  •   crispy    15 年前

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

    mysql2 gem v.0.2.6已退出,支持win32。

    gem install mysql2 现在工作顺利。

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

        4
  •  2
  •   Arivarasan    14 年前

    它起作用了, C: gem安装mysql2--'--使用mysql lib=“c:\prog RAM文件\mysql\mysql connector c 6.0.2\lib\opt”--带mysql include=“c:\progra m files\mysql\mysql connector c 6.0.2\include“'

    正在临时增强包含devkit的路径…

    正在生成本机扩展。这可能需要一段时间…

    mysql2-0.3.6安装成功

    安装1块宝石

    正在安装mysql2-0.3.6的ri文档…

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

    正在为mysql2-0.3.6安装RDOC文档…

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

    注:

    一、如果你的mysql中没有lib和include目录,那么 安装mysql connector c

    二。第一次安装 德维克 只有在Windows中才能安装mysql2插件 https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

        5
  •  0
  •   Ritesh Kumar    14 年前

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

    完成这些步骤后,我就可以安装mysql2 gem了。

        6
  •  0
  •   Keith Tyler    10 年前

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

    当然,在cygwin中还有一个ruby-mysql2包。

        7
  •  0
  •   Neeraj Kumar    8 年前

    你可以试试

    gem install mysql2 -v '0.0.00' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
    
        8
  •  -1
  •   rogerdpack    15 年前

    关键:这句话说你必须首先安装开发工具。 DEVKIT

        9
  •  -1
  •   Nikhil    14 年前

    使用

    gem install mysql
    

    对于Windows,直到mysql2恢复正常。

    推荐文章