Mac OSX 10.6으로 Ruby용 mysql2 gem 설치
mysql2 gem을 설치하는 데 문제가 있습니다.
할 때 이런 얘기가 나와요.gem install mysql2
:
Marks-MacBook-Pro:~ Mark$ gem install mysql2
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
/Users/useruser/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb
checking for rb_thread_blocking_region()... 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... 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=/Users/useruser/.rvm/rubies/ruby-1.9.2-p136/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 /Users/useruser/.rvm/gems/ruby-1.9.2-p136/gems/mysql2-0.2.6 for inspection.
Results logged to /Users/useruser/.rvm/gems/ruby-1.9.2-p136/gems/mysql2-0.2.6/ext/mysql2/gem_make.out
사용할 때도rails server
다음과 같이 나옵니다.
Could not find gem 'mysql2 (>= 0, runtime)' in any of the gem sources listed in your Gemfile.
MySQL 라이브러리를 찾을 수 없는 것 같습니다.MySQL을 설치했습니까?
홈브루를 통해 설치해 보십시오.
brew install mysql
또는 맥포트나 핑크를 통해 설치할 수도 있고 원하는 대로 설치할 수도 있습니다.
그런 다음 다시 시도해 보십시오.
gem install mysql2
이 명령은 나에게 효과가 있었습니다.
gem install mysql2 -- --srcdir=/usr/local/mysql/include
다음 명령이 성공적으로 작동했습니다.
x.x.x = 설치할 mysql2 버전입니다.
gem install mysql2 -v 'x.x.x' -- --srcdir=/usr/local/mysql/include
Mac OS X에서는 MySQL이 필요 없습니다. 왜냐하면 Vagrant 박스에 MySQL이 설치되어 있기 때문입니다.그래서 방금 mysql-connector-c를 설치했습니다.
brew install mysql-connector-c
gem install mysql2
수동 보석 설치를 수정하려면:
brew install openssl
gem install mysql2 -- --with-opt-dir="$(brew --prefix openssl)"
모든 번들 설치에 대한 수정하기
brew install openssl
bundle config --global build.mysql2 --with-opt-dir="$(brew --prefix openssl)"
bundle install
다음이 저에게 효과가 있었습니다.
brew install mysql
brew install mysql-connector-c
gem install mysql2
만약 홈브루를 사용해서 mysql을 설치했다면,brew install mysql
, 이것은 나에게 효과가 있었습니다:
gem install mysql2 -v 'x.x.x' -- --with-mysql-config=/usr/local/Cellar/mysql/y.y.y/bin/mysql_config
x.x.x = 설치할 mysql2 gem 버전
y.y.y = 설치한 mysql 버전ls /usr/local/Cellar/mysql
그걸 찾기 위해서요.
mysql의 버전을 구합니다.
brew info mysql
mysql: stable 5.7.19 (bottled)
...
/usr/local/Cellar/mysql/5.7.19 (322 files, 233MB) *
...
번들과 함께 설치하려는 경우:
bundle config build.mysql --with-mysql-config=/usr/local/Cellar/mysql/y.y.y/bin/mysql_config
Mac OSX 10.6용 64비트 아키텍처에 이 보석을 설치하려면 몇 가지 추가 환경 변수를 지정해야 합니다.
env ARCHFLAGS="-arch x86_64" gem install mysql2
rvm을 사용하는 경우 ~/.rvmrc 파일에서 이 옵션을 기본 옵션으로 추가할 수 있습니다.
rvm_archflags="-arch x86_64"
mysql2를 설치하는 과정에서 발생한 문제와 오류가 정확히 일치했습니다.MySQL의 mamp 설치가 잘 작동할 것이라고 생각하고 몇 시간 동안 경로를 가지고 놀면서 작동했지만 성공하지 못했습니다.
마침내 알로르에서 이 게시물을 발견하고 홈브루를 통해 새로운 버전을 설치했습니다. 그러나 홈브루의 모든 지침을 반드시 따라야 합니다!몇 단계를 놓쳐서 그 문제를 추적하느라 한 시간을 더 허비했습니다. 다음은 지침이 있습니다. https://stackoverflow.com/a/11061487/1241271
MySQL이 성공적으로 설치된 후 다음을 실행했습니다.sudo gem install mysql2
매력적으로 통했습니다.
이것이 누군가가 문서를 읽는 것을 소홀히 했기 때문에 몇 시간을 낭비하는 것을 막는데 도움이 되기를 바랍니다.
홈브루를 통해 Mac에 openssl이 설치되어 있는지 확인합니다.
brew install openssl
Install mysql2 gem.
gem install mysql2 -v '0.5.2' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/i
이것이 제게 효과가 있었던 것입니다.
gem install mysql2 -v 'x.x.x' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
- x.x.x: 설치할 mysql2 gem 버전으로 대체
이것이 여러 번 응답되었다는 것을 알고 있습니다. 다음은 저를 위해 작동하는 것입니다. 2019년 5월 20일 OSX Mojave 10.14.4 MySQL Ver 14.14 배포 5.7.24, EditLine 래퍼 루비 2.5.0p0 (2017-12-25 개정 61468) [x86_64-darwin17] Rails 5.2.1
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
gem install mysql2 -- --with-mysql-config=/usr/local/Cellar/mysql\@5.7/5.7.24/bin/mysql_config
"/usr/local/Cellar/mysql@5.7/5.7.24/bin/mysql_config"를 "/usr/local/Cellar/mysql"에서 현재 유효한 경로로 변경합니다.
도움이 되길 바랍니다!
Catalina(10.15.x)로 업그레이드 후에도 같은 문제가 있었습니다.
나의 Gemfile.lock은 mysql2-0.3.20을 정의했는데, 설치할 수 없었습니다.mysql2-0.5.2로 업그레이드했을 때는 효과가 있었습니다.
gem update mysql2 -- --srcdir=/usr/local/include/mysql/
브루와 함께 mysql을 설치했는지 확인합니다.
brew install mysql
brew link mysql
(링크 /usr/local/Cellar/mysql/8.0.18... 95개의 심볼 링크 생성)
그러나 이 후 gem mysql2가 설치되었지만 번들 업데이트 mysql2가 작동하지 않았습니다.
하지만 이 다른 답변이 https://stackoverflow.com/a/39628463/110214 을 도와주었습니다.
bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include"
bundle update mysql2
언급URL : https://stackoverflow.com/questions/5409761/installing-mysql2-gem-for-ruby-on-rails-with-mac-osx-10-6
'programing' 카테고리의 다른 글
sql 명령을 통해 mysql 이진 로그가 활성화되는지 어떻게 알 수 있습니까? (0) | 2023.10.01 |
---|---|
텍스트 파일에서 C의 배열로 숫자 읽기 (0) | 2023.10.01 |
시스템과 연결하는 방법.Data.OracleClient에서 Windows 인증으로 Oracle db로 이동하시겠습니까? (0) | 2023.09.26 |
Google 페이지 속도가 모바일에서 srcset을 무시합니다. (0) | 2023.09.26 |
동적 버튼에 동적 버튼 클릭 이벤트를 생성하려면 어떻게 해야 합니까? (0) | 2023.09.26 |