Mysql2 स्थापित करने में त्रुटि: मणि देशी एक्सटेंशन बनाने में विफल




ruby-on-rails ruby (16)

"आपको पहले विकास उपकरण इंस्टॉल करना होगा।" मैक ओएस एक्स माउंटेन शेर को अपग्रेड करने के बाद mysql2 मणि ​​स्थापित करने का प्रयास करते समय त्रुटि। स्पष्ट रूप से यह अपग्रेड करने से कमांड लाइन कंपाइलर्स को हटा दिया जाता है।

तै होना:

  • मैंने एक्सकोड के अपने पुराने संस्करण को अनइंस्टॉल किया (अनइंस्टॉल स्क्रिप्ट / डेवलपर / लाइब्रेरी में चलाया)। फिर / डेवलपर निर्देशिका हटा दी।
  • ऐपस्टोर के लिए गया और डाउनलोड एक्सकोड।
  • एक्सकोड लॉन्च किया और वरीयताओं -> डाउनलोड में चला गया, और कमांड लाइन टूल्स इंस्टॉल किया।

रेल के लिए mysql2 मणि स्थापित करने का प्रयास करते समय मुझे कुछ समस्याएं आ रही हैं। जब मैं इसे bundle install या gem install mysql2 करता gem install mysql2 तो gem install mysql2 यह मुझे निम्न त्रुटि देता है:

Mysql2 स्थापित करने में त्रुटि: त्रुटि: मणि देशी एक्सटेंशन बनाने में विफल।

मैं इसे कैसे ठीक कर सकता हूं और सफलतापूर्वक mysql2 इंस्टॉल कर सकता हूं?


Mysql-dev समस्याओं को ठीक करने के बाद, आपको खराब mysql2 इंस्टॉल को हटाने की आवश्यकता हो सकती है। $ बंडल इंस्टॉल के बाद संदेशों पर सावधानी से देखो। आपको इसकी आवश्यकता हो सकती है

rm -rf vendor/cache/
rm -rf ./Zentest

यह खराब mysql2 स्थापना को साफ़ कर देगा ताकि अंतिम $ बंडल इंस्टॉल एक अच्छा बना सके।


अगर अभी भी त्रुटि हो रही है तो रेल 3 पर mysql2 मणि ​​स्थापना के चरणों का पालन करें -

http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html

जहां अधिकांश उपयोगकर्ता mysql2 मणि ​​स्थापित करने में सक्षम थे।


आपको कुछ निर्भरताओं को स्थापित करना होगा

sudo apt-get install libmysql-ruby libmysqlclient-dev

क्या आपने इसका उपयोग करने की कोशिश की है

 gem install mysql -- --with-mysql-lib=/usr/lib/mysql/lib 

मस्तिष्क निर्देशिका के स्थान के साथ-साथ मणि स्थापना को पूरा करने के लिए आवश्यक MySQL पुस्तकालयों के पथ को निर्दिष्ट करने के लिए?

स्रोत: MySQL जेम इंस्टॉल त्रुटि: मणि देशी एक्सटेंशन बनाने में विफल MySQL फ़ोरम :: रूबी :: रूबी के लिए MySQL बाध्यकारी स्थापित करने में सहायता की आवश्यकता


मुझे मैक ओएस एक्स 10.6.6 पर बनाया गया मणि मिला है) डेवलपर टूल पैकेज को स्थापित करना 2) स्रोत से वर्तमान MySQL पैकेज (मेरे मामले में 5.5.8) को डाउनलोड करना 3) cmake.org से cmake टूल इंस्टॉल करना 4 ) MySQL वितरण फ़ाइलों से sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include धारा 2.11 में निर्देशों के बाद 5) sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include मणि सफलतापूर्वक बनाया गया है, लेकिन दस्तावेज़ में दो त्रुटियां हैं rdoc और ri शिकायत के बारे में। लेकिन अब जब मैं 'mysql2' की आवश्यकता का प्रयास करता हूं तो मुझे एक मिलता है

LoadError: no such file to load -- mysql2/mysql2

मैं उम्मीद कर रहा था कि मुझे मिली त्रुटि यह थी कि libmysqlclient.16.dylib नहीं मिला क्योंकि हमने पाया कि एक और पोस्ट में (install_name_tool के लिए खोजें)।

मेरे $ पाथ में / usr / local / mysql है (यही वह जगह है जहां मेरा स्रोत और निर्मित फाइलें स्थित हैं), इसलिए मैं थोड़ा स्टंप हूं। अगर किसी के पास कोई विचार है, तो मैं सोने के कुछ घंटों के बाद वापस देखूंगा।


मेरे पास कई कंप्यूटर, 32 और 64 बिट प्रोसेसर हैं, वे उबंटू लिनक्स, मावेरिक (10.10) रिलीज पर चलते हैं।

मुझे एक ही समस्या थी, और मेरे लिए, sudo apt-get install libmysql-ruby libmysqlclient-dev ने काम किया !!!


मेरे पास विंडोज 7 के साथ यह समस्या थी। यह स्पष्ट रूप से एक असंगतता मुद्दा है और समाधान निम्नानुसार है: mysql.dll फ़ाइल को पुराने InstantRails इंस्टॉलर से डाउनलोड करें। लिंक http://tinyurl.com/24ocp8u केवल mysql.dll फ़ाइल डाउनलोड करेगा। (यह InstantRails के svn भंडार का लिंक है)। इसके बाद, उस फ़ाइल को कॉपी करें जो आपके रूबी / बिन फ़ोल्डर में है। अब, आप जाने के लिए अच्छे हैं;)


मैं एक मैक पर हूं और ओपन सोर्स प्रोग्राम स्थापित करने के लिए Homebrew का उपयोग करता हूं। होमब्री को स्थापित करने के लिए मुझे मैक देव टूल्स इंस्टॉल करना पड़ा, लेकिन उसके बाद यह एक आसान था:

brew install mysql

mysql स्थापित करने के लिए। मेरे पास से एक MySQL मणि समस्या नहीं है।


मैं सिर्फ विशेष रूप से मैक उपयोगकर्ताओं के लिए यह जवाब जोड़ना चाहता था।

मेरा सर्वर पूरी तरह ठीक चल रहा था जब तक कि मैंने अपना एक्सकोड अपडेट नहीं किया। मेरे रेल सर्वर को शुरू करते समय त्रुटि इस तरह दिखाई गई थी

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /Users/user/.rvm/rubies/ruby-1.9.3-p448/bin/ruby extconf.rb --with-mysql-
    checking for rb_thread_blocking_region()... /Users/user/.rvm/rubies/ruby-1.9.3-  
    p448/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an    
    executable file. (RuntimeError)

और त्रुटि संदेश के अंत में mysql2 मणि ​​स्थापित करने के लिए सुझाव था। तो जब मैंने इसे स्थापित करने का प्रयास किया तो मुझे इस प्रश्न में उल्लिखित त्रुटि मिली। मुझे मिली त्रुटि निम्नानुसार है

ERROR:  Error installing mysql2:
ERROR: Failed to build gem native extension.

तो इस पोस्ट में सुझाए गए अनुसार मैंने 'mysql इंस्टॉल करें' और यह कहकर छोड़ा कि MySQL संस्करण इतना पहले से स्थापित है। लेकिन कहने से पहले चेतावनी थी

Warning: You have not agreed to the Xcode license.
Builds will fail! Agree to the license by opening Xcode.app or running:
xcodebuild -license

तब मैंने इस sudo xcodebuild -license की कोशिश की और अंत में 'सहमत' टाइप करें। लाइसेंस से सहमत होने के लिए आपको रूट होना होगा।

इसके बाद, मैंने फिर से बंडल इंस्टॉल करने का प्रयास किया और फिर सबकुछ सामान्य के रूप में ठीक काम कर रहा है। [यहां तक ​​कि इस एक्सकोड अद्यतन के कारण, मुझे अपने टावर के साथ भी समस्या थी।]


योग्यता का उपयोग करते हुए उबंटू / डेबियन और अन्य वितरण पर:

sudo apt-get install libmysql-ruby libmysqlclient-dev

पैकेज libmysql-ruby चरणबद्ध हो गया है और ruby-mysql द्वारा प्रतिस्थापित किया गया है। This वह जगह है जहां मुझे समाधान मिला।

यदि उपरोक्त आदेश काम नहीं करता है क्योंकि libmysql-ruby नहीं मिल सका, तो निम्नलिखित पर्याप्त होना चाहिए:

sudo apt-get install libmysqlclient-dev

यम का उपयोग कर Red Hat / CentOS और अन्य वितरण पर:

sudo yum install mysql-devel

Homebrew साथ मैक ओएस एक्स पर:

brew install mysql

विंडोज उपयोगकर्ता के लिए: आप lib को सेट करते हैं और अपने mysql का पथ शामिल करते हैं, उदाहरण के लिए, यदि आप xampp का उपयोग कर रहे हैं तो आपको यह पसंद हो सकता है:

gem install mysql2 -- '--with-mysql-lib="C:\xampp\mysql\lib" --withmysql-include="C:\xampp\mysql\include"'

libmysql-ruby चरणबद्ध हो गया है और प्रतिस्थापित किया गया है। नया आदेश:

 sudo apt-get install ruby-mysql libmysqlclient-dev

यहां विंडोज उपयोगकर्ताओं के लिए एक समाधान है, उम्मीद है कि यह मदद करता है!

विंडोज़ पर रेल 3 के साथ MySQL का उपयोग करना

  • Railsinstaller स्थापित करें -> www.railsinstaller.org (मैंने इसे c: \ Rails में स्थापित किया है)

  • MySQL इंस्टॉल करें (मैंने MySQL 5.5 का उपयोग किया) -> dev.mysql.com/downloads/installer/

--- mySQL स्थापना के लिए ---

यदि आपके पास पहले से ही इन दो फ़ाइलों को इंस्टॉल नहीं किया गया है तो आपको उन्हें अपना MySQL जाने के लिए आवश्यकता हो सकती है

vcredist_x86.exe -> http://www.microsoft.com/download/en/details.aspx?id=5555 dotNetFx40_Full_x86_x64.exe -> http://www.microsoft.com/download/en/details.aspx?id=17718

डिफ़ॉल्ट इंस्टॉल डेवलपर मशीन का प्रयोग करें

-MySQL सर्वर कॉन्फ़िगर-
बंदरगाह: 3306
विंडोज़ सेवा का नाम: MySQL55
mysql रूट पास: रूट (आप इसे बाद में बदल सकते हैं)
(उपयोगकर्ता नाम: रूट)
-MySQL सर्वर कॉन्फ़िगर-

--- mySQL स्थापना के लिए ---


--- mysql2 मणि ​​स्थापित करें ---

महत्वपूर्ण: गिट बैश कमांड लाइन के साथ ऐसा करें (यह रेलवेइंटर के साथ स्थापित किया गया था) -> प्रारंभ / गिट बैश

मणि mysql2 - '--with-mysql-lib = "c: \ प्रोग्राम फ़ाइलें \ MySQL \ MySQL सर्वर 5.5 \ lib" --with-mysql-include = "c: \ प्रोग्राम फ़ाइलें \ MySQL \ MySQL सर्वर 5.5 \ शामिल"'

अब मणि सही ढंग से स्थापित किया जाना चाहिए था

अंत में libmysql.dll फ़ाइल की प्रतिलिपि बनाएँ
सी: \ प्रोग्राम फ़ाइलें \ MySQL \ MySQL सर्वर 5.5 \ lib
सेवा मेरे
C: \ रेल \ Ruby1.9.2 \ बिन

--- mysql2 मणि ​​स्थापित करें ---


अब आप MySQL के साथ अपने रेल ऐप का उपयोग करने में सक्षम होंगे, अगर आपको यकीन नहीं है कि MySQL के साथ रेल 3 ऐप कैसे बनाया जाए ...

--- MySQL के साथ एक रेल 3 ऐप जा रहा है ---

ओपन कमांड प्रॉम्प्ट (गिट बैश नहीं) -> प्रारंभ / cmd
अपने फ़ोल्डर में नेविगेट करें (सी: \ साइट्स)
नए रेल ऐप बनाएं

rails new world

फ़ाइल c: \ साइट्स \ world \ public \ index.html हटाएं
फ़ाइल c: \ साइट्स \ world \ config \ path.rb संपादित करें
इस लाइन को जोड़ें -> रूट: से => 'शहरों # अनुक्रमणिका'

ओपन कमांड प्रॉम्प्ट (दृश्य और नियंत्रक उत्पन्न करें)

rails generate scaffold city ID:integer Name:string CountryCode:string District:string Population:integer



इस तरह दिखने के लिए फ़ाइल c: \ साइट्स \ world \ app \ models \ city.rb संपादित करें

class City < ActiveRecord::Base
 set_table_name "city"
end

इस तरह दिखने के लिए फ़ाइल c: \ साइट्स \ world \ config \ database.yml संपादित करें

development:
adapter: mysql2
encoding: utf8
database: world
pool: 5
username: root
password: root
socket: /tmp/mysql.sock

रत्न में जोड़ें

gem 'mysql2'

ओपन कमांड प्रॉम्प्ट विंडोज cmd, गिट बैश नहीं (अपना ऐप चलाएं!)
अपने ऐप फ़ोल्डर में नेविगेट करें (सी: \ साइट्स \ दुनिया)

rails s

अपना ब्राउज़र यहां खोलें -> http: // localhost: 3000

--- MySQL के साथ एक रेल 3 ऐप जा रहा है ---


यदि आपको अभी भी परेशानी हो रही है ...।

स्थापित करने का प्रयास करें

   sudo apt-get install ruby1.9.1-dev

विंडोज 7 और 64-बिट MySQL का उपयोग करने वालों के लिए

यदि आप 64-बिट MySQL का उपयोग करना चाहते हैं, तो आपको here निर्देशों here पालन ​​करना चाहिए ( here भी)।

एक कस्टम निर्मित 64-बिट कनेक्टर भी है जो परेशानी के बिना काम करता है।





mysql2