मणि स्थापित: मणि देशी विस्तार का निर्माण करने में विफल (हेडर फ़ाइलें नहीं मिल सकती)


356

मैं Fedora 14 का उपयोग कर रहा हूं और मेरे पास MySQL और MySQL सर्वर 5.1.42 स्थापित और चल रहा है। अब मैंने इसे रूट उपयोगकर्ता के रूप में करने की कोशिश की:

gem install mysql

लेकिन मुझे यह त्रुटि मिली:

Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

यहाँ क्या गलत है? स्थापित रूबी में 1.8.7। और नवीनतम रूबीज 1.3.7।


बस एक त्वरित अनुमान: क्या आपके पास MySQL
DrColossos

मैं इन देव फ़ाइलहेड को कैसे प्राप्त कर सकता हूं?
टिम

1
मैंने इसे उबंटू में करते हुए निम्नलिखित किया: apt-get install रूबी-देव रूबीज रत्न को स्थापित करना mysql - with-mysql-config = / usr / bin / mysql_config सभी ठीक काम करता है।
इवान कैरास्को क्विरोज़

जवाबों:


757

उन लोगों के लिए जो स्वीकृत उत्तर से भ्रमित हो सकते हैं, जैसा कि मैं था, आपको माणिक हेडर स्थापित करने की भी आवश्यकता है [ रूबी-डेवेल ]।

मेरे छुपने को बचाने वाला लेख यहाँ है

और यह संशोधित समाधान है (ध्यान दें कि मैं फेडोरा 13 पर हूं):

yum -y install gcc mysql-devel ruby-devel rubygems
gem install -y mysql -- --with-mysql-config=/usr/bin/mysql_config

डेबियन, और अन्य वितरणों के लिए डेबियन शैली पैकेजिंग का उपयोग करके माणिक विकास हेडर स्थापित किए गए हैं:

sudo apt-get install ruby-dev

उबटन के लिए माणिक विकास शीर्षकों द्वारा स्थापित किए गए हैं:

sudo apt-get install ruby-all-dev

यदि आप रूबी के पहले संस्करण का उपयोग कर रहे हैं (जैसे 2.2), तो आपको चलाने की आवश्यकता होगी:

sudo apt-get install ruby2.2-dev

(जहां 2.2 आपका वांछित रूबी संस्करण है)


@NoBugs अतिरिक्त जानकारी के लिए धन्यवाद :)
ब्रायन लैस

1
जब मैं रेल पर रूबी का उपयोग करके एक ऐप बनाने की कोशिश कर रहा था, तो यह काम किया। यह शिकायत करता है कि यह कैसे स्थापित नहीं कर सकता है और बंडलर जारी नहीं रख सकता है। रूबी-डेवेल स्थापित करने का काम किया।
जैक

2
ऊपर @NoBugs द्वारा पोस्ट रूबी-देव के अलावा, मुझे उबंटू (12.04) पर libmysqlcient-dev की भी आवश्यकता थी। (या, बस डेमियन नोवाक द्वारा डेबियन / उबंटू उत्तर देखें।)
जॉन गार्विन

1
मेरे लिए आरएचईएल 6 पर काम किया जब मुझे जेकिल स्थापित करने में परेशानी हुई।
डेविड मेसन

इससे मुझे fpm को स्थापित करने में मदद मिली, संभवतः किसी भी रूबी-आधारित सॉफ़्टवेयर को स्थापित करने में मदद करता है। मैंने इस्तेमाल किया yum -y install gcc ruby-devel rubygems
ज़ोल्टन

91

रेड हैट, फेडोरा:

yum -y install gcc mysql-devel ruby-devel rubygems
gem install -y mysql -- --with-mysql-config=/usr/bin/mysql_config

डेबियन, उबंटू:

apt-get install libmysqlclient-dev ruby-dev
gem install mysql

आर्क लिनक्स:

pacman -S libmariadbclient
gem install mysql

क्या ये वह है? mysql-devel.i686: MySQL अनुप्रयोगों के विकास के लिए फाइलें
टिम

1
निश्चित रूप से mysql-devel की जरूरत है। सवाल यह है कि इसके अलावा क्या आवश्यक है। शायद यह कोशिश करें: fedora-tunisia.org/?q=node/44 मुझे बताएं कि क्या यह काम करता है।
नॉवकर

मुझे बस यहाँ यह समस्या थी: stackoverflow.com/questions/6297751/… अच्छा समाधान!
केविन ब्राउन

आप जो कहते हैं वह आवश्यक है, लेकिन यह रूबी-देवल है जिसे प्रश्न में त्रुटि संदेश को ठीक करने की आवश्यकता है।
एडवर्ड एंडरसन

RedHat सिस्टम पर BTW है ruby-devel
टेक्ससब्रूस

50

2015 में इसे पढ़ने वाले किसी के लिए: यदि आप पैकेज स्थापित करने के लिए हुए हैं ruby2.0, तो आपको ruby2.0-devउपयुक्त रूबी हेडर प्राप्त करने के लिए मिलान स्थापित करने की आवश्यकता है । उसी के लिए चला जाता है ruby2.1और ruby2.2आदि, उदाहरण के लिए:

$ sudo apt-get install ruby2.2-dev

फेडोरा 22 पर:sudo dnf install ruby-devel
जेफ्री डी स्मेट

धन्यवाद! माणिक कभी-कभी इतना अजीब होता है।
नेल्सनजो

वही रूबी 2.3 के लिए जाता है।
चार्ल्स रॉपर

24

ऐसा लगता है कि

yum install ruby-devel

मेरे लिए प्रदर्शन करने के लिए पर्याप्त था

gem install datamapper

बाद में।

यह संभव है कि आपको एक और पैकेज स्थापित करना होगा:

yum install gcc gcc-c++

देशी एक्सटेंशन बनाने में सक्षम होना


1
मुझे एक स्पष्ट संदेश के बिना बहुत ही विकट त्रुटि मिल रही थी, और यह इसलिए था क्योंकि जीसीसी पैकेजों को इंस्टाल नहीं किया गया था। :( इस पोस्ट ने मुझे इस बुनियादी कदम की याद
दिला दी

9

मैक उपयोगकर्ता इस समस्या का सामना कर सकते हैं जब xcode उपकरण ठीक से स्थापित नहीं होते हैं। नीचे मुद्दे से छुटकारा पाने की आज्ञा है।

xcode-select --install

हाँ, यह समस्या थी। आपका बहुत बहुत धन्यवाद!
एडुआर्ड घिन्या

और फिर यह sudo gem install -n /usr/local/bin cocoapods थम्सअप
हाइड ००

8

मैं समाधान पाया यहाँ

# yum install mysql-devel gcc make
# gem install mysql -- --with-mysql-config=/usr/bin/mysql_config

8

इस पोस्ट ने मेरी मदद की। बहुत बहुत धन्यवाद।

लिनक्स (Ubuntu 12.10) पर मुझे चलाने की आवश्यकता थी

sudo apt-get install ruby
sudo apt-get install rubygems
sudo apt-get install ruby-dev

इससे पहले कि मैं सुसाइड कर पाता

sudo gem install jekyll

4

यदि आपके पास मणि स्थापित और रूबी है और रेल स्थापित करने में सक्षम नहीं है, तो माणिक देव लिब स्थापित करें।

sudo apt-get install ruby-dev

इससे मेरा काम बनता है। मैंने अलग समाधान की कोशिश की है।


मेरे पास Ubuntu 16.04LTS है। मुझे लगता है, अन्य पिछले संस्करण के लिए भी यही होगा।
हाफिज शहबाज अली

2

रेड हैट, फेडोरा:

sudo dnf -y install gcc-c++ redhat-rpm-config ruby-devel gcc mysql-devel rubygems

2

उन लोगों के लिए जो अभी भी समस्याओं का सामना कर रहे हैं, जैसे मेरे पास (मैं Ubuntu 16.04 का उपयोग कर रहा हूं), मुझे कुछ कमांड जैसे कि bcrypt, pg, और अन्य को स्थापित करने के लिए निम्नलिखित कमांड में डालना था। वे एक को छोड़कर ऊपर वाले सभी के समान हैं।

sudo apt-get install ruby-dev -y
sudo apt-get install libpq-dev -y
sudo apt-get install libmysqlclient-dev
sudo apt-get install build-essential patch -y

इसने मुझे पीजी, बीसीक्रिप्ट, और रिकैप्टा जैसे रत्न स्थापित करने की अनुमति दी।


1

मेरा प्रारंभिक समाधान ऊपर की त्रुटियों को स्थापित करके हल करना था ruby-devel, patchऔर rubygems

मेरा मुद्दा थोड़ा अलग था क्योंकि bcrypt 3.1.11 में अभी भी Fedora 23 पर संकलन और स्थापना के मुद्दे थे। मुझे अतिरिक्त पैकेजों की आवश्यकता थी। इसलिए यह सुनिश्चित करने के बाद कि मैं ऊपर स्थापित था, तब भी मुझे समस्या हो रही थी:

gcc: error: conftest.c: No such file or directory

gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory

यहाँ से मुझे निम्नलिखित कार्य करने थे:

  • मैंने सुनिश्चित किया कि मुझे किसी सी कंपाइलर टूल की कमी नहीं है sudo dnf group install "C Development Tools and Libraries"

  • फिर मैं sudo dnf install redhat-rpm-configऊपर सूचीबद्ध gcc समस्या को हल करने के लिए भागा ।

आप यहाँ Fedore प्रोजेक्ट पर एक लेख लिख सकते हैं । आपको अन्य आवश्यकताओं के उत्तर भी मिल सकते हैं।



1

आपको निम्नलिखित पैकेजों की आवश्यकता है:

  • माणिक देव

  • जीसीसी

  • libffi-देव

  • बनाना

यहाँ डेबियन distro के लिए कमान है:

 sudo apt install gcc ruby-dev rubygems libgmp-dev libgmp3-dev make 


0

Redhat-rpm-config को इनस्टॉल करना आवश्यक है। मुझे लगता है कि यह आपकी समस्या को हल करता है!



0

आपने आरवीएम के साथ खिलवाड़ किया होगा।

करने की कोशिश करो:

\curl -sSL https://get.rvm.io | bash -s stable --rails

-1


उदाहरण के लिए मेरे पथ में रूबी.एच फ़ाइल में पथ जोड़ने के लिए:

निर्यात पथ = $ पथ: / usr / src / माणिक-xxxxxx

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.