2011-09-20 9 views
6

मैं ओएस एक्स शेर पर एमएएमपी 2, आरवीएम का उपयोग कर रहा हूं और मेरे रेल ऐप के साथ काम करने के लिए mysql2 मणि ​​नहीं मिल सकता है।शेर पर एमएएमपी 2 और आरवीएम के साथ काम करने के लिए mysql2 मणि ​​नहीं मिल सकता है, Rails3 ऐप

$ 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 मणि ​​स्थापित करने की कोशिश कर रही कई त्रुटियों के बाद, यह वह जगह है जहां मैं पूरी तरह से अटक गया हूं।

मैं ओएस एक्स शेर पर एमएएमपी 2.0.3 और रेल 3.0.7 के साथ आरवीएम और रूबी-1.9.2-पी 2 9 0 का उपयोग कर रहा हूं।

कोई मदद बहुत सराहना की!

+1

इसी त्रुटि: http://stackoverflow.com/questions/7056157/mac-osx-lion-and-ruby-fatal-failed-to-allocate-memory – Mirko

+0

मैं सिर्फ सभी को दोहराया स्नोलोपॉर्ड मशीन पर 'मेक-जे 3' सहित कदम और सबकुछ बिना किसी समस्या के काम करता है। तो यह शेर मुद्दा होना चाहिए। – Mirko

+0

मिर्को, क्या आपको यह तय हुआ? – jBeas

उत्तर

0

अपने Gemfile को यह जोड़ने का प्रयास करें:

gem 'mysql2', < '0.3' 

मैं एक समय पहले एक ऐसी ही समस्या के बारे में एक पोस्ट बनाया है। आप इस सवाल का जवाब यहाँ देख सकते हैं:

Cannot run migrations due to MySQL error

+1

चलो, आप वास्तव में नहीं सोचते कि मैंने इसे अपने जेमफाइल में नहीं जोड़ा है। मैंने सभी 0.2.xx mysql2 रत्नों की कोशिश की ... – Mirko

4

आप इस के लिए MAMP प्रयोग नहीं करना चाहिए।

मैंने पढ़ा कि आप क्या करने की कोशिश कर रहे हैं। आपकी समस्या mysql2 मणि ​​नहीं है। आपकी समस्या MySQL की स्थापना है।

mysql स्थापित करने के लिए होमब्रू का उपयोग करके दिखाए गए इस आलेख का पालन करें। यह बहुत आसान है और इसे सेटअप करने के लिए इंस्टॉल समय सहित लगभग 10-15 मिनट लगते हैं। mysql स्थापित करने के लिए काढ़ा उपयोग करने के साथ

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

साइड नोट। MySQL इंस्टॉल करने के बाद और यह सफल हो जाता है, यह जानकारी का एक टन थूक जाएगा, और आपको इसे ध्यान से देखना होगा क्योंकि निर्देशों के सभी अन्य जंकों में 1-2 लाइनें हैं, कुछ सामान चिपका रही हैं, आदि ...

मेरे सेटअप:

मेरी सेटअप में

वर्तमान में मेरे पास है MAMP (मेरी/साइटों निर्देशिका के लिए) जब वर्डप्रेस साइटों, आदि जैसे सरल सामान कर रही ... तो फिर अंत में मैं करने के लिए बंद कर मैं अपने homebrew रेल (के लिए mysql के स्थापित है Heroku के लिए sqlite/पीजी)। हाँ, मैं उन्हें एक ही समय में चला सकता हूं।मेरे पास यह सेटअप है क्योंकि मेरी परियोजनाओं के लिए मुझे रेल ऐप, स्थिर एचटीएमएल लैंडिंग पेज और कुछ पुरानी पीएचपी परियोजनाओं के बीच घूमने की आवश्यकता है, और मुझे 2 mysql इंस्टॉल होने से अलग करना पसंद है।

+0

आपके उत्तर के लिए धन्यवाद। मैंने तेंदुए और हिम तेंदुए दोनों पर केवल एमएएमपी के mysql रखने में कामयाब रहा है, और मैं वास्तव में शेर के लिए यह वही पसंद करूंगा। मैं वर्तमान में रूबी-माइस्क्ल मणि का उपयोग कर रहा हूं, लेकिन जब मैं कुछ समय प्राप्त करता हूं, तो मैं एमएएमपी को 1.x तक डाउनग्रेड करने का प्रयास करूंगा, क्योंकि यह उन ब्लॉग पोस्टों द्वारा लगता है जो काम करेंगे। मेरा आखिरी उपाय होमब्रू के साथ एक और MySQL उदाहरण होगा ... – Mirko

+0

मैं चाहता हूं कि मैंने आपके पोस्ट में उस लिंक को देखा और आपको पिछले महीने के लिए इससे परेशानी हो रही थी। उसमें मजाक कहां है? कुछ भयानक कोड लिखने का समय !! मैं सर्वर बैग सामान से नफरत करता हूं, न कि मेरे बैग। यदि आप इसके बारे में चिंतित हैं तो मेरे पास भी कोई प्रदर्शन समस्या नहीं है। इसके अलावा, थोड़ी देर बाद मैंने स्क्लाइट पर स्विच किया, मुझे mysql के साथ चिपकने का कोई कारण नहीं दिखता, खासकर अगर यह आपके सिस्टम पर इतनी परेशानी पैदा कर रहा है। – jBeas

+0

मुझे उत्पादन में mysql का उपयोग करना चाहिए, इसलिए मेरे पास कोई विकल्प नहीं है। क्या आपने उत्पादन में देव और माइस्क्ल में स्क्लाइट का उपयोग किया था? क्या यह करने योग्य है? – Mirko

13

मैंने इस समस्या को mysql-connector-c को अनइंस्टॉल करने और mysql2 मणि ​​को पुन: संकलित करने के साथ हल किया है जिसमें ब्रूड mysql सर्वर से lib और 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 इंस्टॉल नहीं है लेकिन यह अभी भी मेरे लिए काम करता है। –

संबंधित मुद्दे