2011-09-20 1 views
6

OS X Lion에서 MAMP2, rvm을 사용하고 있으며 Rails 응용 프로그램과 함께 작동하는 mysql2 보석을 얻을 수있는 방법이 없습니다. 이 단계는 실패LAMP, Rails3의 MAMP2 및 RVM에서 작동하는 mysql2 gem을 얻을 수 없습니다.

$ cd /tmp 
$ mv /Users/yourname/Desktop/mysql-5.5.9.tar.gz . 
$ tar xf mysql-5.5.9.tar.gz 
$ cd mysql-5.5.9 
$ brew install cmake 
$ cmake . -DMYSQL_UNIX_ADDR=/Applications/MAMP/tmp/mysql/mysql.sock -DCMAKE_INSTALL_PREFIX=/Applications/MAMP/Library 

:

$ make -j 3 

'my_atomic에 대한 단위 테스트를 주석 한 후 나는이 블로그 게시물 http://blog.mirotin.net/35/mamp-1-9-5-mysql-5-5-9-and-ruby-mysql2 따랐습니다

이 하나 http://www.pa-ket.com/blog/show/12-osx-ruby-mysql2-gem-python-mysqldb-using-mamp

는 단계였다 -t.dir '/tmp/mysql-5.5.9/CMakeFiles/Makefile2'make -j 3 '은 괜찮 았어.

$ cp libmysql/*.dylib /Applications/MAMP/Library/lib/ 
$ mkdir -p /Applications/MAMP/Library/include/mysql 
$ cp include/* /Applications/MAMP/Library/include/mysql 
$ env ARCHFLAGS="-arch x86_64" gem install mysql2 -v 0.2.11 -- --with-mysql-config=/Applications/MAMP/Library/bin/mysql_config 
Building native extensions. This could take a while... 
Successfully installed mysql2-0.2.11 
1 gem installed 
Installing ri documentation for mysql2-0.2.11... 
Enclosing class/module 'mMysql2' for class Client not known 
Installing RDoc documentation for mysql2-0.2.11... 
Enclosing class/module 'mMysql2' for class Client not known 

'클라이언트 알 수 없음'경고가 중요하지 않았던 것으로 보입니다.
그리고 마지막 단계 :

install_name_tool -change /tmp/mysql-5.5.9/libmysql/libmysqlclient.16.dylib /Applications/MAMP/Library/lib/libmysqlclient.16.dylib ~/.rvm/gems/[email protected]/gems/mysql2-0.2.11/ext/mysql2/mysql2.bundle 

그리고 레일 서버를 시작할 때 내가 오류 :

$ rails server 
=> Booting WEBrick 
=> Rails 3.0.7 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
[FATAL] failed to allocate memory 

난 그냥 그 mysql2 보석을 설정할 수 없습니다 내가 주 동안 노력했습니다. mysql2 gem을 설치하려고 할 때 수많은 오류가 발생하면, 이것이 완전히 멈추었습니다.

OS X Lion과 MAMP 2.0.3 및 Rails 3.0.7에서 RVM 및 ruby-1.9.2-p290을 사용하고 있습니다.

어떤 도움도 매우입니다. 당신의 Gemfile이 추가

+1

비슷한 오류 : http://stackoverflow.com/questions/7056157/mac-osx-lion-and-ruby-fatal-failed-to-allocate-memory – Mirko

+0

난 그냥 모든 반복 스노우 레오파드 머신에서 'make -j 3'을 포함한 모든 단계는 문제없이 작동합니다. 따라서 이것은 라이온이되어야합니다. – Mirko

+0

미르코, 해결 했니? – jBeas

답변

0

봅니다 :

gem 'mysql2', < '0.3' 

나는 잠시 다시 유사한 문제에 대한 게시물을했다. 당신은 여기에 답을 볼 수 있습니다 당신은이에 대한 MAMP를 사용해서는 안

Cannot run migrations due to MySQL error

+1

자, 당신은 정말로 내 Gemfile에 추가하지 않았다고 생각하지 않습니다. 나는 모든 0.2.xx mysql2 보석을 시도했다 ... – Mirko

4

.

나는 당신이하려는 것을 읽었습니다. 문제는 mysql2 젬이 아니다. 문제는 MySQL 설치입니다.

homebrew를 사용하여 mysql을 설치하는 방법을 보여주는이 기사를 따르십시오. 매우 간단하며 설치 시간을 포함하여 약 10-15 분이 소요됩니다. MySQL을 설치하는 양조를 사용으로

http://blog.theablefew.com/very-simple-homebrew-mysql-and-rails

사이드 노트. mysql을 설치 한 후에 성공하면 많은 정보가 누출 될 것이고 지침이되는 다른 모든 쓰레기들 사이에는 1-2 줄이 있기 때문에 조심스럽게 살펴볼 필요가있다.

내 설정 : 내 설정에서 현재

내가 가지고 MAMP는 (내/사이트 디렉토리) 등 워드 프레스 사이트, 같은 간단한 물건을 할 때 ... 그럼 결국 내가로 전환 난 내 사제가 레일 (위해 MySQL을 설치 한 heroku 용 sqlite/pg). 예, 동시에 실행할 수 있습니다.내 프로젝트는 레일 애플 리케이션, 정적 HTML 방문 페이지, 그리고 몇 가지 오래된 PHP 프로젝트 사이를 뛰어 넘길 필요하기 때문에 나는이 설치 프로그램을 가지고 있고, 나는 2 개의 mysql 설치를 갖는 분리를 좋아한다.

+0

당신의 대답에 감사드립니다. Leopard와 Snow Leopard 모두에서 MAMP의 mysql 만 관리했기 때문에 Lion과 똑같이하고 싶습니다. 저는 현재 ruby-mysql gem을 사용하고 있습니다. 그러나 시간이 지나면 MAMP를 1.x로 다운 그레이드하려고 노력할 것입니다. 내 마지막 수단은 homebrew와 함께 또 다른 mysql 인스턴스가 될 것입니다 ... – Mirko

+0

나는 당신의 게시물에서 그 링크를 보았고 당신은 지난 달 동안 이것에 문제가있었습니다. 그게 재미 있니? 몇 가지 멋진 코드를 작성하는 시간 !! 나는 서버 관리 물건이 아니라 내 가방이 싫다. 나는 당신이 그것에 대해 걱정했다면 어떤 성능 문제도 전혀 가지고 있지 않습니다. 또한, 잠시 후 sqlite로 전환 한 후, 특히 mysql을 고수 할 이유가 없다. 특히 이미 시스템에서 많은 문제를 일으키고있다. – jBeas

+0

선택의 여지가 없으므로 프로덕션 환경에서 mysql을 사용해야합니다. 프로덕션 환경에서 dev 및 mysql에 sqlite를 사용 했습니까? 그것은 가능합니까? – Mirko

13

이 문제는 mysql-connector-c를 제거하고 양조 된 mysql 서버의 include 및 lib 플래그로 mysql2 gem을 다시 컴파일하여 해결되었습니다.

$ brew uninstall mysql-connector-c 
$ gem uninstall mysql2 
$ gem install mysql2 -- --with-mysql-include=/usr/local/Cellar/mysql/5.5.19/include --with-mysql-lib=/usr/local/Cellar/mysql/5.5.19/lib 

http://abisso.org/2012/03/failed-to-allocate-memory/

+0

나를 위해 매력처럼 일했다 –

+0

완벽하게 일했다. –

+0

공유해 주셔서 감사합니다. 나는 brew를 사용하여 MySQL을 설치하지 않았지만 여전히 나에게 적합하다. –

관련 문제