mysql के साथ एक नया रेल 3 बीटा 4 ऐप शुरू करने की कोशिश कर रहा है .... ओएस एक्स हिम तेंदुए चल रहा है। रेल के पिछले संस्करणों के बारे में मुझे MySQL के साथ कोई समस्या नहीं है।रेल 3 माइस्क्ल समस्याएं
अपरिभाषित विधि `MySQL के लिए init ':: कक्षा
mysql के साथ एक नया रेल 3 बीटा 4 ऐप शुरू करने की कोशिश कर रहा है .... ओएस एक्स हिम तेंदुए चल रहा है। रेल के पिछले संस्करणों के बारे में मुझे MySQL के साथ कोई समस्या नहीं है।रेल 3 माइस्क्ल समस्याएं
अपरिभाषित विधि `MySQL के लिए init ':: कक्षा
अपने Gemfile 'mysql2' का उपयोग करने के लिए परिवर्तित करें, यह एक और अधिक आधुनिक चालक है और अच्छे सुविधाओं की है के रूप में अन्य लोगों का उल्लेख किया है।
नई रेल अनुप्रयोगों डिफ़ॉल्ट रूप से mysql2 मणि का उपयोग करें।
सुनिश्चित करें कि आप "एडाप्टर: mysql2" के बजाय "एडाप्टर: mysql2" का उपयोग करने के लिए अपनी डेटाबेस.आईएमएल फ़ाइल को भी बदल दें, अन्यथा आपको mysql2 मणि लोड होने के बारे में कोई त्रुटि नहीं मिलेगी। – nikz
क्या मुझे एक mysql2 मणि स्थापित करने की भी आवश्यकता है? यह करीब दिख रहा है। मुझे निम्न त्रुटि मिली: रेक निरस्त हो गया! dlopen (/Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle, 9): लाइब्रेरी लोड नहीं हुई: libmysqlclient.18.dylib से संदर्भित:/लाइब्रेरी/रूबी/रत्न /1.8/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle कारण: छवि नहीं मिली - /Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle /उपयोगकर्ता/क्रिस/rails_projects/sienab/rakefile: 4 (--trace के साथ कार्य चलाने के द्वारा पूर्ण ट्रेस देखें) – chris
यदि आपको तैयार कथन की आवश्यकता है, तो आप Sequel मणि का उपयोग कर सकते हैं, क्योंकि MySQL2 मणि अभी तक इसका समर्थन नहीं करता है। https://github.com/jeremyevans/sequel –
मैं लेकिन अब जब मैं रेल शुरू 3 एप्लिकेशन मैं निम्न त्रुटि जब मैं क्लिक करें" के बारे में आपके आवेदन पर्यावरण "रेल index.html स्टार्टअप स्क्रीन पर मिल mysql मणि से ruby-mysql मणि करने के लिए स्विचिंग समाप्त हो गया, काम किया।
मुझे लगता है कि मुझे समस्या का समाधान मिला है। मेरे मामले में समस्या यह थी कि mysql मणि बंडलर का उपयोग करके ठीक तरह से स्थापित नहीं किया गया है। जब मैं इस किया था:
बंडल mysql (noobish गलती) स्थापित
सभी जवाहरात mysql निर्देशिका के लिए गया था, लेकिन बाद में मैं बंडलर मणि की डॉक्स जाँच की है और ऐसा किया:
बंडल स्थापित bundler_files (यह जानने के लिए कि भविष्य में रत्न कहां हैं)
सब कुछ ठीक दिखता है सिवाय इसके कि जब mysql मणि इंस्टॉल हो रहा था तो मुझे कुछ त्रुटियां मिलीं। मैंने देखा कि यह मेरे फ़ोल्डर पथ "/ home/pawel/Aptana स्टूडियो वर्कस्पेस/myrails_app"
यदि आपके फ़ोल्डर पथ में रिक्त स्थान हैं तो यह मणि ठीक से इंस्टॉल नहीं होगा और बाद में जब आप पथ को संशोधित करेंगे रिक्तियों के बिना और mysql मणि यह अभ्यस्त किसी भी त्रुटि प्रदर्शित स्थापित करने का प्रयास, लेकिन स्थापना दूषित हो जाएगा, क्योंकि आप कुछ फाइलों के साथ वहाँ कुछ अतिरिक्त फ़ोल्डरों होगा आदि तो
जीईएम फ़ोल्डर बंडलर द्वारा बनाया हटाएँ और पुनः स्थापित इस आदेश के साथ रत्न:
बंडल स्थापित
इससे समस्या हल हो गई।
सरल उपयोग के लिए, जो सामान्य (कनेक्टिंग, पूछताछ, परिणामों पर पुनरावृत्त) है, मुझे mysql2 मणि मिला जो mysql या ruby-mysql रत्नों से अधिक तेज़ है और उचित प्रकार के मूल्यों को ऑटो-कैस्ट करता है। और यह पूरी तरह से हिम तेंदुए पर स्थापित करता है जबकि मैं काम करने के लिए mysql मणि नहीं मिल सका। http://github.com/brianmario/mysql2
मैं एक ही मुद्दा में भाग पर
अधिक जानकारी (आरओआर 3, OSX 10.6, mysql 2.8.1 मणि)।
आप आतंक विरोधी बाहर शासन करने के लिए आईआरबी का उपयोग कर सकते हैं:
irb
require 'rubygems'
require 'mysql'
db = Mysql.connect('hostname', 'username', 'password', 'database')
यदि उपरोक्त काम नहीं करता है, तो आप mysql मणि निकालकर और पुनर्स्थापित करने का प्रयास कर सकते हैं। मैं एक पोस्ट में आया कि bundle install
त्रुटियों को प्रदर्शित किये बिना इंस्टॉल को गड़बड़ कर सकता है।
sudo gem uninstall mysql
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
सत्यापित करें बातें irb
के माध्यम से काम करते हैं, उसके बाद फिर से रेल शुरू।
यह i386 आर्क के लिए भी काम करता है: uname -a डार्विन iMac-LZ.local 10.5.0 डार्विन कर्नेल संस्करण 10.5.0: शुक्र नवम्बर 5 23:20:39 पीडीटी 2010; जड़: XNU-1504.9।17 ~ 1/RELEASE_I386 i386 – Vitalie
ऐसा करने के बाद, मुझे त्रुटि मिलती है: MySQL के लिए 'अपरिभाषित विधि' कनेक्ट ': /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p0/bin/irb:16 से कक्षा :
आप mysql2 मणि पर स्विच करने का प्रयास कर सकते हैं जो आपके लिए उन सभी मुद्दों को हल करना चाहिए।देखें: https://github.com/brianmario/mysql2/
मैं हिम तेंदुए के उन्नयन के बाद एक ही मुद्दा है। MySQL मणि स्थापित करने पर, मैं प्रलेखन, के बारे में त्रुटियों की एक गुच्छा तो मिल गया सर्वर चल रहा पर:
undefined method `init' for Mysql:Class
मैं भी अन्य रत्नों से कुछ इसी तरह की है, लेकिन कोई संबंध नहीं मुद्दों कर रहा विशेष रूप से उन है कि सी घटकों था
Unable to compile native extensions
इन त्रुटियों को 64 वास्तुकला आधार में देशी एक्सटेंशन से कोई लेना देना थे: कि इस तरह के RedCloth और Hpricot के रूप में संकलन की जरूरत है। समाधान तीन गुना था:
सभी अब अच्छी तरह से फिर से है।
मुझे लगता है कि क्या होता है यह है कि mysql मणि MySQL गतिशील लाइब्रेरी को लोड करने में सक्षम नहीं है (जिसे मूल MySQL स्थापना द्वारा प्रदान किया जाना चाहिए)। यह हो रहा है कि क्या जांचने के लिए इस
$ irb
1.9.2p320 :001 > require 'mysql_api'
=> true
1.9.2p320 :002 >
करते हैं यह इस निम्न स्तर mysql_api
, (जो वास्तव में mysql
मणि में कार्यक्षमता की आपूर्ति) लोड करने में सक्षम नहीं है, यह आप कुछ संभावित रूप से उपयोगी त्रुटियों दे देंगे। आमतौर पर यह गतिशील पुस्तकालय खोजने में सक्षम नहीं है। इसे ठीक करने के मैं समाधान की एक जोड़ी पाया:
http://wonko.com/post/how-to-install-the-mysqlruby-gem-on-mac-os-x-leopard से, सिस्टम-वाइड के लिए यह
कर स्थापित
sudo env ARCHFLAGS="-arch i386" gem install mysql -- \
--with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib \
--with-mysql-include=/usr/local/mysql/include
या स्थानीय http://alexbraunstein.com/2011/08/12/library-loaded-libmysqlclient-18-dylib/ से स्थापित
env ARCHFLAGS="-arch i386" gem install mysql -- \
--with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib \
--with-mysql-include=/usr/local/mysql/include
और उसके बाद .bash_profile
में डाल:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
क्या आपके पास Gemfile में 'gem' mysql' है? –
जब यह आधिकारिक रिलीज आया, तो यह समस्या मेरे लिए दूर हो गई, मेरे लिए यह बीटा रिलीज का उपयोग कर रहा था, यह सिर्फ एक समस्या थी। –