Ruby gem mysql2 설치 실패
mysql2 gem 설치 시 명백한 오류 없이 실패합니다.mysql2를 설치하기 위해 어떻게 대처해야 하는지 아는 사람 있나요?
$ sudo gem install mysql2
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
checking for rb_thread_blocking_region()... no
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... yes
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:
--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=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
--with-mysql-config
--without-mysql-config
--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-mysqlclientlib
--without-mysqlclientlib
--with-mlib
--without-mlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-zlib
--without-zlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-socketlib
--without-socketlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-nsllib
--without-nsllib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mygcclib
--without-mygcclib
--with-mysqlclientlib
--without-mysqlclientlib
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/ext/mysql2/gem_make.out
Ubuntu:
sudo apt-get install libmysqlclient-dev #(mysql development headers)
sudo gem install mysql2 -- --with-mysql-dir=/etc/mysql/
바로 그거야!
결과:
Building native extensions. This could take a while...
Successfully installed mysql2-0.2.6
1 gem installed
Installing ri documentation for mysql2-0.2.6...
Enclosing class/module 'mMysql2' for class Result not known
Enclosing class/module 'mMysql2' for class Client not known
Installing RDoc documentation for mysql2-0.2.6...
Enclosing class/module 'mMysql2' for class Result not known
Enclosing class/module 'mMysql2' for class Client not known
mysql2를 올바르게 컴파일하려면 MySQL 개발 헤더가 필요합니다.대부분의 기능은 C로 작성되어 MySQL에 대해 링크되기 때문에 이것이 필요합니다.
해결책은 다음과 같이 명시적으로 gem instra를 mysql 설치 폴더로 지정하는 것입니다.
gem install mysql2 -- --with-mysql-dir=/usr/local/mysql
# or where ever you installed your mysql server to
또는 mysql 서버를 알려진 위치에 설치한 후(예를 들어 홈브루를 사용하여) 보석을 설치합니다.
# install the mysql server locally
brew install mysql
# install the gem
gem install mysql2
어느 어프로치에서도, 필요한 GCC 컴파일러를 사용하려면 , XCode 가 설치되어 있어야 합니다.
컴퓨터에 64비트 MySQL이 설치되어 있어야 하며 xcode 설치 시 제공되는 빌드 도구도 필요합니다.
Brew와 MySQL을 설치한 상태에서 다음을 사용하여 mysql2 gem을 설치했습니다.
gem install mysql2 -- --with-mysql-config=/usr/local/Cellar/mysql/5.5.10/bin/mysql_config
Bundler를 사용하는 경우 다음 명령을 사용하여 Bundler에 이 사실을 알릴 수 있습니다.
bundle config build.mysql2 --with-mysql-config=/usr/local//Cellar/mysql/5.5.10/bin/mysql_config
여기에 기재된 바와 같이 http://gembundler.com/man/bundle-config.1.html
Mac OSX Moutain Lion에서는 다음 명령어를 사용할 수 있었습니다.
gem install mysql2 -- --srcdir=/usr/local/mysql/include
Ubuntu 15.04:
sudo apt-get install libmysqlclient-dev
sudo gem install mysql2
Ubuntu-16.04:
sudo apt-get install ruby-mysql2
sudo gem install mysql2
출력:
Building native extensions. This could take a while...
Successfully installed mysql2-0.3.19
Parsing documentation for mysql2-0.3.19
Installing ri documentation for mysql2-0.3.19
Done installing documentation for mysql2 after 0 seconds
1 gem installed
이 스레드는 MySQL 웹사이트 http://forums.mysql.com/read.php?116,178217,178217,에서 확인할 수 있습니다.특히 Scott Derrick의 답변은 http://forums.mysql.com/read.php?116,178217,189357#msg-189357 입니다.
좀 더 구체적으로 말하면
sudo gem install mysql2 -- --with-mysql-dir=/usr/local/mysql
도움이 됐으면 좋겠다.
Centos 6.x(7은 SCL(소프트웨어 컬렉션) rh-mysql을 사용하는 경우):
scl enable rh-mysql56 bash
gem install mysql2 -v '0.4.5' -- --with-mysql-include=/opt/rh/rh-mysql56/root/usr/include --with-mysql-lib=/opt/rh/rh-mysql56/root/usr/lib64
2일간 인터넷과 스택 오버플로우를 조사했는데, 이 링크를 발견하고 나서 mysql2 티켓 작업을 시작하고 나서야 실제로 문제를 해결했습니다.
설정(티켓에 기재되어 있는 바와 같이)을 사용하면 -Wno-null-conversion -Wno-unused-private-field의 컴파일러 스위치가 고장나 오류가 발생합니다.이거는 다음과 같습니다.
mysql.h is missing. please check your installation of mysql and try again
brew나 macports를 사용하여 디렉토리가 어디에 있는지 구체적으로 설명함으로써 이 문제를 해결했습니다(단, mac의 루비는 rvm과 함께 설치되었으며, os x와 함께 제공되는 기본 디렉토리는 사용하지 않습니다).
에 추가gem install mysql2
--srcdir="..."
- 포함 - 포함 - 포함 - 포함.--with-mysql-dir="..."
- mysql " " "--with-mysql-config="..."
"
gem install mysql2 --srcdir=/usr/local/mysql/include/ --with-mysql-dir=/usr/local/mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
'라고 치면rvm use ruby-2.1.0@rails4.0 --create
의 「 」, 「 」를 참조해 주세요.bundle install
그건 효과가 있다.
언급URL : https://stackoverflow.com/questions/4115126/ruby-gem-mysql2-install-failing
'sourcecode' 카테고리의 다른 글
로컬 시스템과 클라우드 인스턴스 간의 단방향 SymmetricDS 동기화 (0) | 2022.09.05 |
---|---|
SQL 테이블 정의가 잘못되었습니다. 자동 열은 하나만 있을 수 있으며 키로 정의해야 합니다. (0) | 2022.09.05 |
MacOSX homebrew mysql 루트 패스워드 (0) | 2022.09.04 |
Java에서 창을 중앙에 배치하는 방법 (0) | 2022.09.04 |
java.displaces를 클릭합니다.부정 인수예외:AppCompat는 현재 테마 기능을 지원하지 않습니다. (0) | 2022.09.04 |