mysql2 설치 오류 : gem 기본 확장을 빌드하지 못했습니다
mysql2
Rails 용 gem 을 설치하려고 할 때 문제가 있습니다. 나는 실행하여 설치하려고 할 때 bundle install
또는 gem install mysql2
그것은 나에게 다음과 같은 오류를 제공합니다 :
mysql2 설치 오류 : 오류 : gem 기본 확장을 빌드하지 못했습니다.
이 문제를 해결하고 성공적으로 설치하려면 mysql2
어떻게 해야 합니까?
적성을 사용하는 우분투 / 데비안 및 기타 배포판에서 :
sudo apt-get install libmysql-ruby libmysqlclient-dev
패키지 libmysql-ruby
가 단계적으로 만료되어로 교체되었습니다 ruby-mysql
. 이것이 내가 해결책을 찾은 곳입니다.
위의 명령을 libmysql-ruby
찾을 수 없어서 작동하지 않으면 다음과 같이 충분합니다.
sudo apt-get install libmysqlclient-dev
yum을 사용하는 Red Hat / CentOS 및 기타 배포판에서 :
sudo yum install mysql-devel
Homebrew가 설치된 Mac OS X :
brew install mysql
저는 Mac에 있고 homebrew 를 사용하여 오픈 소스 프로그램을 설치합니다. homebrew를 설치하려면 mac Dev 도구를 설치해야했지만 그 후에는 간단했습니다.
brew install mysql
mysql을 설치하십시오. 그 이후로 mysql gem 문제가 없었습니다.
여기에 Windows 사용자를 위한 솔루션 이 도움이되기를 바랍니다!
Windows에서 Rails 3과 함께 MySQL 사용
railsinstaller- > www.railsinstaller.org 설치 (c : \ Rails에 설치)
MySQL 설치 (MySQL 5.5 사용)-> dev.mysql.com/downloads/installer/
--- mySQL 설치 --- 이 두 파일을
아직 설치 하지 않은 경우 MySQL을 vcredist_x86.exe로 이동하려면 파일 이 필요할 수 있습니다
.-> http://www.microsoft.com/download/en/details.aspx? id = 5555 dotNetFx40_Full_x86_x64.exe-> http://www.microsoft.com/download/en/details.aspx?id=17718
기본 설치 개발자 컴퓨터 사용-MySQL Server 구성
포트 : 3306
Windows 서비스 이름 : MySQL55
mysql 루트 패스 : root (나중에 변경할 수 있음)
(사용자 이름 : root)
-MySQL Server Config---- mySQL 설치 ---
--- mysql2 Gem 설치 ---
중요 : Git Bash 명령 줄 (railsinstaller와 함께 설치)을 사용하여이를 수행하십시오.-> start / Git Bash
gem install mysql2- '--with-mysql-lib = "c : \ Program Files \ MySQL \ MySQL Server 5.5 \ lib "--with-mysql-include ="c : \ Program Files \ MySQL \ MySQL Server 5.5 \ include " '
이제 gem이 올바르게 설치되었습니다.
마지막으로 libmysql.dll 파일을
C : \ Program Files \ MySQL \ MySQL Server 5.5 \ lib
to
C : \ Rails \ Ruby1.9.2 \ bin
--- mysql2 Gem 설치 ---
MySQL을 읽은 상태에서 Rails 3 앱을 만드는 방법을 잘 모르겠다면 이제 Rails 앱을 MySQL과 함께 사용할 수 있습니다.
--- MySQL과 함께 Rails 3 앱 가져 오기 ---
명령 프롬프트 열기 (Git Bash 아님)-> start / cmd
폴더로 이동합니다 (c : \ Sites)
새 Rails 앱 만들기
rails new world
c : \ Sites \ world \ public \ index.html 파일을 삭제하십시오.
c : \ Sites \ world \ config \ routes.rb 파일을 편집하십시오.
이 행을 추가하십시오-> root : to => 'cities # index'
명령 프롬프트 열기 (보기 및 컨트롤러 생성)
rails generate scaffold city ID:integer Name:string CountryCode:string District:string Population:integer
c : \ Sites \ world \ app \ models \ city.rb 파일을 다음과 같이 편집하십시오.
class City < ActiveRecord::Base
set_table_name "city"
end
c : \ Sites \ world \ config \ database.yml 파일을 다음과 같이 편집하십시오.
development:
adapter: mysql2
encoding: utf8
database: world
pool: 5
username: root
password: root
socket: /tmp/mysql.sock
gemfile에 추가
gem 'mysql2'
Git Bash가 아닌 명령 프롬프트 창 cmd 열기 (앱 실행!)
앱 폴더로 이동합니다 (c : \ Sites \ world)
rails s
여기에서 브라우저를여십시오-> http : // localhost : 3000
--- Rails 3 앱을 MySQL과 함께 사용하십시오 ---
32 및 64 비트 프로세서의 여러 컴퓨터가 있으며 Ubuntu Linux, Maverick (10.10) 릴리스에서 실행됩니다.
나는 똑같은 문제를 겪었고 나 sudo apt-get install libmysql-ruby libmysqlclient-dev
에게는 그 일을했다 !!!
MacOS 사용자를위한 다른 방법
"brew"를 사용하여 mysql을 설치 한 경우 :
gem install mysql2 -v 'x.x.x' -- --with-mysql-config=/usr/local/Cellar/mysql/y.y.y/bin/mysql_config
xxx = 설치하려는 mysql2 gem
버전 yyy = ls /usr/local/Cellar/mysql
찾은 mysql 버전 .
사용해 보셨습니까
gem install mysql -- --with-mysql-lib=/usr/lib/mysql/lib
gem 설치를 완료하는 데 필요한 MySQL 라이브러리의 경로와 기본 디렉토리의 위치를 지정하려면?
출처 : MySQL Gem Install ERROR : gem 기본 확장 빌드 실패 MySQL 포럼 :: Ruby :: Ruby 용 MySQL 바인딩 설치에 필요한 도움말
yum을 사용하는 경우 다음을 시도하십시오.
sudo yum install mysql-devel
이것은 Windows에서 한 번 내 문제를 해결했습니다.
subst X: "C:\Program files\MySQL\MySQL Server 5.5"
gem install mysql2 -v 0.x.x --platform=ruby -- --with-mysql-dir=X: --with-mysql-lib=X:\lib\opt
subst X: /D
여전히 문제가있는 경우….
설치를 시도하십시오
sudo apt-get install ruby1.9.1-dev
대한 맥 OS 모하비 :
gem install mysql2 -v '0.5.2' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
Windows 7 에서이 문제가 발생했습니다. 비 호환성 문제이며 해결책은 다음과 같습니다.
libmySQL.dll
이전 InstantRails 설치 프로그램에서 파일을 다운로드하십시오 . InstantRails GitHub 저장소 에서 구할 수 있습니다 .
그런 다음 해당 파일을 Ruby / bin 폴더에 복사하십시오.
자, 당신은 갈 수 있습니다;)
이 오류도 발생했습니다. 개발 패키지를 설치하여 해결했습니다. 아치를 사용하고 있으며 다음과 같습니다.
sudo pacman -S base-devel
어느 설치 :
m4, autoconf, automake, bison, fakeroot, flex, libmpc, ppl, cloog-ppl, elfutils, gcc,
libtool, make, patch, pkg-config
하지만 실제로 make와 gcc가 필요하다고 생각합니다. 오류 출력 (내 컴퓨터에서) :
"먼저 개발 도구를 설치해야합니다."
따라서 분명한 결정이었고 도움이되었습니다.
일부 종속성을 설치해야합니다
sudo apt-get install libmysql-ruby libmysqlclient-dev
데비안 스트레치에서 나를 위해 일한 패키지는 default-libmysqlclient-dev 였습니다.
sudo apt-get update && apt-get install -y default-libmysqlclient-dev
내 Mac 에서이 오류가 발생 하여이 오류를 없애기 위해 mysql 32 비트에서 mysql 64 비트로 업그레이드해야한다는 것을 알았습니다. 루비 1.9.2 및 레일스 3.0.0을 사용하는 인텔 맥북 프로에서 OSX 10.6을 실행 중이었습니다.
gem을 컴파일하는 데 필요한 "make"와 같은 유닉스 유틸리티를 얻으려면 xcode를 설치해야했습니다.
이 작업이 완료되면 gem install mysql 및 gem install mysql2를 오류없이 실행할 수있었습니다.
제 경우에는 이것이 도움이되었습니다.
$ export LDFLAGS="-L/usr/local/opt/openssl/lib"
$ export CPPFLAGS="-I/usr/local/opt/openssl/include"
그때:
gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/' -- --with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib
결과:
Building native extensions with: '--with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib'
This could take a while...
Successfully installed mysql2-0.5.2
Parsing documentation for mysql2-0.5.2
Installing ri documentation for mysql2-0.5.2
Done installing documentation for mysql2 after 0 seconds
1 gem installed
이 게시물을 참조하십시오 (경고 : 일본어 내부).
Windows 사용자의 경우 : 예를 들어 xampp를 사용하는 경우 mysql의 lib 및 include 경로를 설정하면 다음과 같이 할 수 있습니다.
gem install mysql2 -- '--with-mysql-lib="C:\xampp\mysql\lib" --withmysql-include="C:\xampp\mysql\include"'
솔루션은 Mac OS X에서만 작동합니다
homebrew와 함께 MySQL을 설치 한 경우 MySQL을 제거하고 MySQL 웹 사이트 ( https://www.mysql.com/ ) 를 통해 MySQL Community Edition을 설치하는 것이 저에게 효과적이었습니다 .
설치가 끝나면 권한 거부 문제가 발생하는 gem install mysql2
경우 명령을 다시 입력 하거나 필요한 경우 를 입력하십시오 sudo gem install mysql2
.
1) 개발자 도구 패키지가 설치되어 있는지 확인 2) 소스에서 현재 MySQL 패키지 (필자의 경우 5.5.8) 다운로드 3) cmake.org에서 cmake 도구 설치 4 ) mysql 배포 파일에서 INSTALL-SOURCE의 2.11 섹션에있는 지침에 따라 5) sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include
gem이 성공적으로 빌드되었지만 rdoc 및 ri에 대해 문서에 두 가지 오류가 있습니다. 그러나 지금 'mysql2'를 요구하려고하면
LoadError: no such file to load -- mysql2/mysql2
내가 얻을 수있는 오류는 다른 게시물 (install_name_tool 검색)에서 알았 기 때문에 libmysqlclient.16.dylib를 찾을 수 없기를 바랐습니다.
내 $ PATH에는 / usr / local / mysql (내 소스 및 빌드 파일이있는 곳)이 있으므로 약간 혼란스러워합니다. 누군가 생각이 있다면, 몇 시간 동안 자고 나서 다시 확인해 보겠습니다.
여전히 오류가 발생하면 Rails 3의 mysql2 gem 설치 단계를 따르십시오-
http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html
대부분의 사용자는 mysql2 gem을 설치할 수있었습니다.
mysql-dev 문제를 해결 한 후 잘못된 mysql2 설치를 제거해야 할 수도 있습니다. $ 번들 설치 후 메시지를주의 깊게보십시오. 당신이해야 할 수도 있습니다
rm -rf vendor/cache/
rm -rf ./Zentest
이것은 최종 $ bundle 설치가 좋은 것을 만들 수 있도록 잘못된 mysql2 설치를 제거합니다.
mysqllib.dll의 올바른 버전을 다운로드 한 다음 루비 빈으로 복사하면 정말 효과가 있습니다. 이 링크를 따르면 잘못된 mysql 클라이언트 라이브러리로 컴파일 된 mysql2 gem 이 있습니다.
"먼저 개발 도구를 설치해야합니다." Mac OS X Mountain Lion으로 업그레이드 한 후 mysql2 gem을 설치하려고하면 오류가 발생 합니다. 분명히이 업그레이드를 수행하면 명령 행 컴파일러가 제거됩니다.
고치다:
- 이전 버전의 Xcode를 제거했습니다 (/ Developer / Library에서 제거 스크립트 실행). 그런 다음 / Developer 디렉토리를 삭제했습니다.
- AppStore로 이동하여 Xcode를 다운로드했습니다.
- Xcode를 시작하고 환경 설정-> 다운로드로 이동하여 명령 행 도구를 설치했습니다.
MySql을 설치하지 않았기 때문에이 문제가 발생합니다. mysql2 gem을 설치하기 전에. MySQL을 설치하십시오. 그 후 mysql2 gem이 설치됩니다.
방금 Mac 사용자 를 위해이 답변을 추가하고 싶었습니다 .
xcode를 업데이트 할 때까지 서버가 제대로 작동했습니다. 레일 서버를 시작하는 동안 오류가 다음과 같이 표시되었습니다
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/user/.rvm/rubies/ruby-1.9.3-p448/bin/ruby extconf.rb --with-mysql-
checking for rb_thread_blocking_region()... /Users/user/.rvm/rubies/ruby-1.9.3-
p448/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an
executable file. (RuntimeError)
그리고 오류 메시지 끝에 mysql2 gem을 설치하라는 제안이있었습니다. 그래서 설치를 시도했을 때이 질문에서 언급 한 것처럼 오류가 발생했습니다. 내가 가진 오류는 다음과 같습니다
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
그래서이 게시물에서 제안한 것처럼 'brew install mysql'을 시도하고 mysql 버전이 이미 설치되어 있다고 말하는 것을 끝내 었습니다. 그러나 말하기 전에 경고가있었습니다.
Warning: You have not agreed to the Xcode license.
Builds will fail! Agree to the license by opening Xcode.app or running:
xcodebuild -license
그런 다음 이것을 시도 sudo xcodebuild -license
하고 끝에 '동의 함'을 입력하십시오. 라이센스에 동의하려면 루트 여야합니다.
이 후 번들 설치를 다시 시도한 후 모든 것이 정상적으로 작동합니다. [이 xcode 업데이트로 인해 타워에도 문제가있었습니다.]
libmysql-ruby
단계적으로 폐지되어 교체되었습니다. 새로운 명령 :
sudo apt-get install ruby-mysql libmysqlclient-dev
Windows 7 및 64 비트 MySQL을 사용하는 사용자
64 비트 MySQL을 사용하려면 여기 (또한 여기 ) 의 지침을 따라야합니다 .
이것은 spacemonkey의 답변 에 대한 의견이어야하지만 죄송합니다 .
CentOS 7에서 mysql 대신 mariadb를 사용하는 경우 오류를 해결하기 위해 MariaDB 공유 패키지를 설치하면됩니다.
yum install MariaDB-shared -y
'Programing' 카테고리의 다른 글
typeof! ==“undefined”vs.! = null (0) | 2020.02.15 |
---|---|
vim에서 어떻게 매치를 욕심없이 만들 수 있습니까? (0) | 2020.02.15 |
Swift 4 모드에서 Swift 3 @objc 유추는 사용되지 않습니다. (0) | 2020.02.15 |
버튼과 링크에서 Firefox의 점선을 제거하는 방법은 무엇입니까? (0) | 2020.02.15 |
명시 적 약속 건설 반 패턴은 무엇이며 어떻게 방지합니까? (0) | 2020.02.15 |