답변:
적성을 사용하는 우분투 / 데비안 및 기타 배포판에서 :
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
libmysqlclient-dev
가 충분했습니다.
저는 Mac에 있고 homebrew 를 사용하여 오픈 소스 프로그램을 설치합니다. homebrew를 설치하려면 mac Dev 도구를 설치해야했지만 그 후에는 간단했습니다.
brew install mysql
mysql을 설치하십시오. 그 이후로 mysql gem 문제가 없었습니다.
brew link mysql --force
.
다음은 Windows 사용자를 위한 솔루션입니다. 도움이 되길 바랍니다.
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과 함께 사용하십시오 ---
gem install mysql2 -- --with-mysql-dir=C:\xampp\mysql
-- --with-mysql-dir="C:\xampp\mysql"
있으며 따옴표없이``내가 제거되었습니다. 감사합니다
사용해 보셨습니까
gem install mysql -- --with-mysql-lib=/usr/lib/mysql/lib
gem 설치를 완료하는 데 필요한 MySQL 라이브러리의 경로와 기본 디렉토리의 위치를 지정하려면?
출처 : MySQL Gem Install ERROR : gem 기본 확장 빌드 실패 MySQL 포럼 :: Ruby :: Ruby 용 MySQL 바인딩 설치에 필요한 도움말
which mysql
한 다음 lib
거기 에서 디렉토리 를 찾아서 찾았 습니다.
이것은 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
gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --without-opt-dir
Windows 7 에서이 문제가 발생했습니다. 비 호환성 문제이며 해결책은 다음과 같습니다.
libmySQL.dll
이전 InstantRails 설치 프로그램에서 파일을 다운로드하십시오 . InstantRails GitHub 저장소 에서 구할 수 있습니다 .
그런 다음 해당 파일을 Ruby / bin 폴더에 복사하십시오.
자, 당신은 갈 수 있습니다;)
bundle install
.
이 오류도 발생했습니다. 개발 패키지를 설치하여 해결했습니다. 아치를 사용하고 있으며 다음과 같습니다.
sudo pacman -S base-devel
어느 설치 :
m4, autoconf, automake, bison, fakeroot, flex, libmpc, ppl, cloog-ppl, elfutils, gcc,
libtool, make, patch, pkg-config
하지만 실제로 make와 gcc가 필요하다고 생각합니다. 오류 출력 (내 컴퓨터에서) :
"먼저 개발 도구를 설치해야합니다."
그래서 그것은 명백한 결정이었고 도움이되었습니다.
제 경우에는 이것이 도움이되었습니다.
$ 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
이 게시물을 참조하십시오 (경고 : 일본어 내부).
솔루션은 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을 설치할 수있었습니다.
mysqllib.dll의 올바른 버전을 다운로드 한 다음 루비 bin에 복사하면 실제로 효과가 있습니다. 이 링크를 따르면 잘못된 mysql 클라이언트 라이브러리 용으로 컴파일 된 mysql2 gem 이 있습니다.
"먼저 개발 도구를 설치해야합니다." Mac OS X Mountain Lion으로 업그레이드 한 후 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 업데이트로 인해 타워에도 문제가있었습니다.]