2011-09-20 21 views
6

Ben OS X Lion üzerinde MAMP2, rvm kullanıyorum ve benim Rails uygulaması ile çalışmak için mysql2 gem elde etmek için hiçbir yolu yoktur. Bu adım başarısızMysql2 gem, MAMP2 ve Lion üzerinde RVM, Rails3 uygulaması

$ 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 için birim testleri değerlendirdikten sonra bu blog yazısı http://blog.mirotin.net/35/mamp-1-9-5-mysql-5-5-9-and-ruby-mysql2 izlediyseniz

ve bu bir http://www.pa-ket.com/blog/show/12-osx-ruby-mysql2-gem-python-mysqldb-using-mamp

Bunlar

adımlarımızdı -t.dir 'in /tmp/mysql-5.5.9/CMakeFiles/Makefile2' make -j 3 'tamamlandı.

$ 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 

Sanırım 'İstemci bilinmeyen' uyarı önemli bir şey değildi.
Ve son adım:

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 

Ve raylar sunucuyu başlatırken alıyorum hata:

$ 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 

sadece o mysql2 mücevher ayarlayamıyor ve Haftalardır çalışıyorum. Mysql2 gem yüklemeye çalışırken sayısız hatalardan sonra, bu tamamen sıkışmış olduğum yer.

OSM Lion üzerinde MAMP 2.0.3 ve Rails 3.0.7 ile RVM ve ruby-1.9.2-p290 kullanıyorum.

Herhangi bir Yardım büyük takdir! senin Gemfile bu ekleme

+1

Benzer hatası: http://stackoverflow.com/questions/7056157/mac-osx-lion-and-ruby-fatal-failed-to-allocate-memory – Mirko

+0

Ben sadece tüm tekrarlanan Bir SnowLeopard makinesinde 'make -j 3' içeren adımlar ve her şey sorunsuz çalışır. Yani bu bir Lion sorunu olmalı. – Mirko

+0

Mirko, bunu tamir ettin mi? – jBeas

cevap

0

Dene:

gem 'mysql2', < '0.3' 

Bir süre önce benzer bir sorun hakkında bir yazı yaptı. Burada cevabını görüntüleyebilirsiniz: Bunun için MAMP kullanmamalısınız

Cannot run migrations due to MySQL error

+1

Hadi, gerçekten Gemfile'a eklemediğimi düşünmüyorsun. Tüm 0.2.xx mysql2 taşlar denedim ... – Mirko

4

.

Yapmaya çalıştığınız şeyi okudum. Senin sorunun mysql2 gem değil. Senin problemin senin mysql kurulumudur.

mysql yüklemek için homebrew kullanarak gösteren bu makaleyi izleyin. Kurulumu sağlamak için kurulum süresi de dahil olmak üzere çok basittir ve yaklaşık 10-15 dakika sürer. MySQL kurmaktır demlemek kullanarak

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

Yan not. Eğer mysql yükledikten sonra ve o başarılı bir ton bilgi tükürecektir, ve dikkatlice bakmak gerekir çünkü bazı şeyler, vb yapıştırma, diğer tüm önemsiz şeyler arasında 1-2 satır vardır ...

benim Kurulumu: benim kurulumunda Şu

i var MAMP (benim/siteler dizini için) vb wordpress siteleri, gibi basit şeyler yaparken ... Sonra sonunda ben geçti benim homebrewleri rayları (için mysql yüklemek var heroku için sqlite/pg. Evet, aynı zamanda onları çalıştırabilirim.Bu kurulumum var çünkü projelerim raylar uygulamaları, statik html açılış sayfaları ve birkaç eski php projesi arasında dolaşmamı gerektiriyor ve ben de 2 mysql kurulumuna sahip ayrımı beğeniyorum.

+0

Cevabınız için teşekkür ederiz. Hem Leopard hem de Snow Leopard'da sadece MAMP'ın mysql'ine sahip olmayı başardım ve bunu Lion için de aynısını istiyorum. Şu anda ruby-mysql gem kullanıyorum, ama çalışacağım blog gönderileriyle göründüğü gibi biraz zaman aldığımda MAMP'i 1.x'e indirmeye çalışacağım. Benim son çare homebrew ile başka bir mysql örneği olacak ... – Mirko

+0

Ben, bu bağlantıya senin yazı içinde baktım ve geçen ay için bununla sorun vardı. Buradaki eğlence nerede? Bazı harika kod yazma zamanı! Sunucu yöneticisinden nefret ediyorum, çantamdan değil. Bununla ilgili endişeleriniz varsa, hiçbir performans sorunum yok. Ayrıca, bir süre sonra, sadece sqlite geçtim, mysql ile uğraşmak için bir neden göremiyorum, özellikle sisteminizde zaten çok fazla sorun yaratıyorsa. – jBeas

+0

Üretimde mysql kullanmalıyım, bu yüzden başka seçeneğim yok. Üretimde dev ve mysql'de sqlite kullandınız mı? Yapılabilir mi? – Mirko

13

Bu sorunu çözmek için mysql-connector-c'yi ve mysql2 gem'i derlenmiş mysql sunucusundan include ve lib flag'leri ile yeniden derledim.

$ 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

Benim için bir çekicilik gibi çalıştım –

+0

Mükemmel bir şekilde çalıştı. –

+0

Paylaşım için teşekkürler. MySQL'in demlemek için kurulu olmamasına rağmen benim için hala çalışıyor. –

İlgili konular