윈도우에서 mysql2 ruby gem이 아래와 유사한 이유로 설치가 안되는 경우 해결방법. (rails4, ruby2 에서 확인)
Building native extensions. This could take a while… ERROR: Error installing mysql2: ERROR: Failed to build gem native extension.C:/Ruby200-x64/bin/ruby.exe extconf.rb checking for ruby/thread.h… yes checking for rb_thread_call_without_gvl() in ruby/thread.h… yes checking for rb_thread_blocking_region()… yes checking for rb_wait_for_single_fd()… yes checking for rb_hash_dup()… yes checking for rb_intern3()… yes checking for mysql_query() in -lmysqlclient… no checking for main() in -lm… yes checking for mysql_query() in -lmysqlclient… no checking for main() in -lz… no checking for mysql_query() in -lmysqlclient… no checking for main() in -lsocket… no checking for mysql_query() in -lmysqlclient… no checking for main() in -lnsl… no checking for mysql_query() in -lmysqlclient… no checking for main() in -lmygcc… no checking for mysql_query() in -lmysqlclient… 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: |
1. 이 유
1. mysqlclient 또는 mysql connector가 설치되어 있지 않기 때문
2. mysql connector가 설치되어 있다 하더라도 경로 지정이 안되있는 경우
2. 해결방법
1) mysql c connector를 설치한다. [http://dev.mysql.com/downloads/connector/c/] (설치되어 있는 경우 생략)
2) 아래와 같은 방법으로 설치한다. 굵은 글씨 부분은 mysql connector가 설치된 환경에 맞게 수정한다.
C:\>gem install mysql2 –platform=ruby — ‘–with-mysql-lib=”C:\Program Files\MySQL\MySQL Connector C 6.1\lib” –with-mysql-include=”C:\Program Files\MySQL\MySQL Connector C 6.1\include”‘ |
Reference
[1] http://stackoverflow.com/questions/5836959/cant-install-mysql2-for-rails-3-on-windows
안녕하세요..! 지나가는 개발자 입니다
ruby gem mysql2 번들 설치하다 오류가 있어서 위에 제시해 주신 방법으로 해결할 수 있었습니다.
좋은 정보 감사합니다^^
다름이 아니라 옵션 커맨드의 — 표시가 처음에 애매해서 혼동이 있었습니니다..ㅎㅎ;;
시간 되실 때 [수정 사항] 처럼 수정 해주시면 다른 분들이 방문했을 때 혼동할 우려가 적을 것이라 생각되어 코멘트를 남기게 되었습니다.
[수정 사항]
gem install mysql2 –platform=ruby — –with-mysql-lib=”C:\Program Files\MySQL\MySQL Connector C 6.1\lib” –with-mysql-include=”C:\Program Files\MySQL\MySQL Connector C 6.1\include”
이상입니다 좋은하루 되세요!
첨부.
— 표시는 대시(-) 2개 입니다 (텍스트 창에서 붙어서 보여지네요…)
대시대시 platform 대시대시 (한칸띄움) 대시대시 with~ (중략) 대시대시with~ (중략) 이런 형식이라는 뜻이었습니다