복붙노트

[RUBY-ON-RAILS] Windows 7에서 MySQL2 보석을 설치할 수 없음

RUBY-ON-RAILS

Windows 7에서 MySQL2 보석을 설치할 수 없음

내가 설치하는 동안, 내가 더 자세한 내용을 게시해야하는 경우 알려 주시기 다음과 같은 오류 메시지가 무엇입니까.

나는 다음과 같은 위치에서 지시 사항을 준수 : https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

나는 루비 1.9.2p136 (2010-12-25) [I386-mingw32]를 사용하고 있습니다.

여기에 내가 무엇을 얻을 수 있습니다 :

E:\work_desk\trunk>gem install mysql2 -v 0.2.4
Temporarily enhancing PATH to include DevKit...
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()... yes
checking for main() in -llibmysql... no
*** 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
        --with-mysql-dir
        --without-mysql-dir
        --with-mysql-include
        --without-mysql-include=${mysql-dir}/include
        --with-mysql-lib
        --without-mysql-lib=${mysql-dir}/lib
        --with-libmysqllib
        --without-libmysqllib


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

해결법

  1. ==============================

    1.mysql2 보석의 특정 버전은뿐만 아니라 Windows 용 바이너리 부족 (0.2.4)을 설치하려고하지만, 윈도우에 문제가 있습니다.

    mysql2 보석의 특정 버전은뿐만 아니라 Windows 용 바이너리 부족 (0.2.4)을 설치하려고하지만, 윈도우에 문제가 있습니다.

    버전을 표시하지 않고 mysql2 보석을 설치하십시오 :

    gem install mysql2
    

    (내 게시물이 시점에 0.2.6) 최신 버전을 설치하고 또한 컴파일 단계를 건너 뛰고 Windows 용 바이너리를 제공하는 것이다.

    여전히 컴파일을 강제 할 경우, 하나의 MySQL의 다릅니다 버전이 진 보석을 생성하는 데 사용하기 때문에 (, 당신은 RubyInstaller 웹 사이트에서 RubyInstaller의 DevKit를 설치해야합니다 :

    http://rubyinstaller.org/downloads

    그리고 (다운로드 페이지에서 링크되는) 우리의 위키에서 DevKit 설치 지침을 따르

    당신은 보석 설치 과정에서 모두 헤더 및 라이브러리에 대한 경로를 제공하며, 다음 지침에서 MySQL의 설치 위치를 조정해야합니다 :

    subst X: "C:\Program Files (x86)\MySQL\MySQL Server 5.1" 
    gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --with-mysql-lib=X:\lib\opt 
    subst X: /D
    

    위의 명령의 사용은 항상 피해야 공간과 경로 문제를 방지하기 위해 SUBST.

    도움이 되었기를 바랍니다.

  2. ==============================

    2.그것이 작동되도록하는 방법에 대한 주위를 검색 후, 나는 마침내 프롬프트 명령에 다음 설치 가지고 :

    그것이 작동되도록하는 방법에 대한 주위를 검색 후, 나는 마침내 프롬프트 명령에 다음 설치 가지고 :

    gem install mysql2 -v 0.2.6
    

    다음과 같은 결과로 :

    Fetching: mysql2-0.2.6-x86-mingw32.gem (100%)
    Successfully installed mysql2-0.2.6-x86-minw32
    1 gem installed
    Installing ri documentation for mysql2-0.2.6-x86-mingw32...
    Enclosing class/module 'mMysql2' for class Client not known
    Installing RDoc documentation for mysql2-0.2.6-x86-mingw32...
    Enclosing class/module 'mMysql2' for class Client not known
    

    시도 해봐. 그것은 작동합니다.

  3. ==============================

    3.Windows7의에 mysql2 보석을 설치하거나 매우 후, 따라 단계별 설치에 도움이 될 것입니다이 게시물을 통해 이동하시기 바랍니다하는 단계에 지우지 할 수없는 여전히 경우 - http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html

    Windows7의에 mysql2 보석을 설치하거나 매우 후, 따라 단계별 설치에 도움이 될 것입니다이 게시물을 통해 이동하시기 바랍니다하는 단계에 지우지 할 수없는 여전히 경우 - http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html

    그리고 mysql_api.so 에러 (C : /Ruby192/lib/ruby/gems/1.9.1/gems/mysql-2.8.1-x86-mingw32/lib/1.9/mysql_api.so), "libmySQL.dll 파일"파일을 복사 C에서 : \ 프로그램 파일 \ MySQL은 \ MySQL 서버 5.1 \ 빈 C에 : \ Ruby192 \ 빈

    http://rorguide.blogspot.com/2011/03/getting-error-specified-module-could.html - 자세한 내용은이 게시물을 참조에 대한 설치 경로는 다를 수 있습니다.

    희망이 당신의 문제를 밖으로 정렬에 도움이 될 것입니다.

  4. ==============================

    4.RailsInstaller 시작합니다.

    RailsInstaller 시작합니다.

    이것은 로컬 (지역 개발) MySQL 서버를 실행하는 가정, 그리고 루비는 32 비트 컴파일됩니다. (루비 -v. 64 || I386를 확인하십시오.)

    MySQL의 - 커뮤니티 - 웹 설치 프로그램을 다운로드합니다. 상단에서 우측 32 비트를 선택합니다. 당신은 꽤 많은 단지 서버가 필요합니다. 워크 벤치도 편리합니다.

    보석 명령을 사용 SUBST, 그래서 공백없이 경로가 필요합니다 :

    subst X: "C:\Program Files (x86)\MySQL\MySQL Server 5.6"
    gem install mysql2 -v=0.3.13 --platform=ruby -- --with-mysql-dir=X:
    

    당신은 PATH에 libmysql.dll을해야합니다 - 쉬운 일이 루비의 bin 디렉토리에 복사 단지입니다 :

    copy "C:\Program Files (x86)\MySQL\MySQL Server 5.6\lib\libmysql.dll" "C:\RailsInstaller\Ruby2.0.0\bin"
    

    PowerShell을에서이 작업을 수행하지 마십시오! (DevKit는 PowerShell의 문제가 변화 경로 정보가 있습니다.)

    확인 모든 라이브러리는 모든 32 비트 라이브러리에 링크 32 비트 및 필요성을 컴파일 이후 RailsInstaller의 루비 등, 32 비트입니다.

    로컬 서버를 원하지 않는 경우, 단지 C 커넥터를 설치하고 그 디렉토리와 libmysql.dll을 이러한 지침을한다. 혼용하지 마십시오 - 메이크업은 반드시 .DLL 당신이에 대한 보석을 컴파일 된 버전과 일치합니다.

  5. ==============================

    5.이것으로부터:

    이것으로부터:

    checking for main() in -llibmysql... no
    

    당신은 MySQL의 드라이버와 응용 프로그램을 설치하지 않은 것 같습니다. 그렇다면, 그들은 그들의 기본 위치에 설치할 수 있나요? 서버가 다른 컴퓨터에서 실행중인 경우 최소한 당신은 클라이언트 소프트웨어를 할 것입니다.

  6. ==============================

    6.다시 보석을 다시 설치합니다.

    다시 보석을 다시 설치합니다.

  7. ==============================

    7.나는 @Mrk Fldig의 솔루션을 시도했지만 작동하지 않았다 ... 해결 무엇 그래서 문제가 있었다 :

    나는 @Mrk Fldig의 솔루션을 시도했지만 작동하지 않았다 ... 해결 무엇 그래서 문제가 있었다 :

    주의해야 할 하나 개의 함정은 내가 정상 슬래시에 백 슬래시 (\)로 변경한다는 것입니다 (/). 나는 백 슬래시와 동일한 절차를 시도하고 그것은 작동하지 않았다.

    설치 프로그램은 이미 MySQL의 커넥터 C 6.1 6.1.2 디렉토리에서 MySQL을위한 C 커넥터가 포함되어 있습니다. 따라서 --with-mysql을-LIB 사용하거나 사용하지 않고 단지 --with-mysql을-DIR 매개 변수를 전달하는 매개 변수를 --with-mysql을-포함 lib 디렉토리에 동일한 디렉토리에보기에 보석을하고 디렉토리를 포함

  8. from https://stackoverflow.com/questions/5367563/unable-to-install-mysql2-gem-on-windows-7 by cc-by-sa and MIT license