그 첫 번째!!
gem install 시에 생긴 에러..
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb --with-mysql-config=/usr/local/mysql/bin/mysql_config --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
처음에는 path문제라고 생각하고 --with-mysql-config나 --with-mysql-dir이나 --with-mysql-lib 등등의 옵션을 주면서 다시 install 해보았지만 결과는 똑같았다.
몇 시간의 삽질 끝에 알아낸 것은 library가 없어서 뿜어내는 에러라는 것.
뭔가 필요한 library가 없는거다.
그래서 mysql이 개발자 버전이 없나 하고 두리번 거렸는데, 좀 무식하지만 해결책을 찾았다.
xcode를 설치하면 된다.
xcode를 설치하면서 같이 설치되는 library들로 인해, 해결 되었다.
두 번째!!
Building native extensions. This could take a while...
Successfully installed mysql-2.8.1
1 gem installed
Installing ri documentation for mysql-2.8.1...
No definition for next_result
No definition for field_name
No definition for field_table
No definition for field_def
No definition for field_type
No definition for field_length
No definition for field_max_length
No definition for field_flags
No definition for field_decimals
No definition for time_inspect
No definition for time_to_s
No definition for time_get_year
No definition for time_get_month
No definition for time_get_day
No definition for time_get_hour
No definition for time_get_minute
No definition for time_get_second
No definition for time_get_neg
No definition for time_get_second_part
No definition for time_set_year
No definition for time_set_month
No definition for time_set_day
No definition for time_set_hour
No definition for time_set_minute
No definition for time_set_second
No definition for time_set_neg
No definition for time_set_second_part
No definition for time_equal
No definition for error_errno
No definition for error_sqlstate
Installing RDoc documentation for mysql-2.8.1...
No definition for next_result
No definition for field_name
No definition for field_table
No definition for field_def
No definition for field_type
No definition for field_length
No definition for field_max_length
No definition for field_flags
No definition for field_decimals
No definition for time_inspect
No definition for time_to_s
No definition for time_get_year
No definition for time_get_month
No definition for time_get_day
No definition for time_get_hour
No definition for time_get_minute
No definition for time_get_second
No definition for time_get_neg
No definition for time_get_second_part
No definition for time_set_year
No definition for time_set_month
No definition for time_set_day
No definition for time_set_hour
No definition for time_set_minute
No definition for time_set_second
No definition for time_set_neg
No definition for time_set_second_part
No definition for time_equal
No definition for error_errno
No definition for error_sqlstate
아아니.. 이게 뭐야..
분명 "1 gem installed" 요러한 메세지는 뜨는거 보니까 성공적으로 설치된 것 같긴 한데, 뭔가 깨름칙하다.
그리고 이런 식으로 설치가 되면 db migration이 되질 않는다.
이 문제의 원인은 찾아내지 못했지만 해결책은 찾았다.
mysql설치할 때 ARCHFLAGS 설정을 한다!!
다음과 같이 mysql을 재설치 해보자.
$ gem uninstall mysql
$ sudo env ARCHFLAGS="-arch x86_64" gem install --no-rdoc --no-ri mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
그리고나면 깔끔하게 설치가 될 것이다!!$ sudo env ARCHFLAGS="-arch x86_64" gem install --no-rdoc --no-ri mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
물론 migration도 잘 될 것이고!!
댓글 없음:
댓글 쓰기