책에서 나온대로 레일즈 프로젝트 따라하기 중인데 

depot> rake db:migrate 

명령을 치라는 부분을 치니, gem 에 mysql 이 기본으로 포함이 안되어 있다는 메시지가 발생 하더군요. 
시키는 대로 해도 몇몇 에러가 발생하더군요. 이래저래 돌아다니면서 알아보니 

처음에 발생한 에러 메시지 입니다. 

(in /Users/crazia/Documents/workspace/rails/depot)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql

그래서 

gem install mysql 

라고 입력했습니다. 

crazia$ gem install mysql
WARNING:  Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
 /usr/bin aren't both writable.
WARNING:  You don't have /Users/crazia/.gem/ruby/1.8/bin in your PATH,
 gem executables will not run.
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
ERROR: Failed to build gem native extension.

이런 에러가 발생하더군요. 

그래서 ~/.bash_profile 에 

export PATH=$PATH:/opt/local/bin:/opt/local/sbin:/usr/local/mysql/lib:~/.gem/ruby/1.8/bin

추가해줬습니다. 그리고 다시  gem install mysql 을 실행 

 gem install mysql
Password:
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
ERROR: Failed to build gem native extension.

다시 에러 입니다. 잠깐의 구글링을 통해서 헤더랑 라이브러리를 지정해줘야 하는것 같더군요. 

gem install mysql -- --with-mysql-include=/usr/local/mysql/include/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-config=/usr/local/mysql/bin/mysql_config 

이런식으로 입력하니 다시 에러 찾아보니 스노우레오파드의 아키텍쳐를 명시해줘야 한다고 합니다. 

env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-include=/usr/local/mysql/include/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-config=/usr/local/mysql/bin/mysql_config 

이렇게 등록해 주면 됩니다. mysql 은 스노우레오파드에 디폴트로 포함되어 있는 버젼입니다. 

그리고 다시  rake db:migrate 

crazia$ rake db:migrate
(in /Users/crazia/Documents/workspace/rails/depot)

성공!! 즐겁게 레일즈 코딩하세요 ~








+ Recent posts