2011-09-20 4 views
6

OS X LionでMAMP2、rvmを使用していて、Railsアプリケーションでmysql2 gemを動作させる方法がありません。LAMP、Rails3のアプリケーションでMAMP2とRVMで動作するmysql2 gemを取得できません

私はこのブログの記事http://blog.mirotin.net/35/mamp-1-9-5-mysql-5-5-9-and-ruby-mysql2を追ってきたし、この1 http://www.pa-ket.com/blog/show/12-osx-ruby-mysql2-gem-python-mysqldb-using-mamp

これらの手順だった:

$ 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」のユニットテストをコメントした後/tmp/mysql-5.5.9/CMakeFiles/Makefile2 'make -j 3'の-t.dir 'はOKになりました。

$ 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サーバを起動するとき、私は取得エラー:

$ 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

私はすべての繰り返しSnowLeopardマシン上に「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にダウングレードしようとします。私の最後の手段は自作の別のmysqlインスタンスです... – Mirko

+0

私はあなたのポストでそのリンクを見て、あなたは過去1ヶ月間この問題を抱えていました。どこで楽しいですか?すばらしいコードを書く時間!私はサーバー管理のものが嫌い、私のバッグは嫌いです。もしあなたがそれについて心配していたとしても、パフォーマンス上の問題は全くありません。また、しばらくしてsqliteに切り替えた後、特にあなたのシステムに大きな問題を引き起こしている場合は特に、mysqlを使用する必要はありません。 – jBeas

+0

私は選択肢がないので、本番環境ではmysqlを使用する必要があります。あなたは、実稼働環境でdevおよびmysqlにsqliteを使用しましたか?それは可能ですか? – Mirko

13

私はこの問題を解決し、mysql-connector-cをアンインストールし、mysql2 gemを、醸造されたmysqlサーバからのincludeとlibフラグで再コンパイルしました。

$ 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

共有いただきありがとうございます。私はMySQLをbrewを使ってインストールしているわけではありませんが、それでも私にとってはうまくいきます。 –

関連する問題