Ubuntu पर sqlite3-ruby त्रुटि स्थापित करें


257

मुझे sqlite3-ruby इंस्टॉल के दौरान निम्नलिखित त्रुटि हुई है:

देशी एक्सटेंशन का निर्माण। इसमें कुछ समय लग सकता है ...
त्रुटि: sqlite3- रूबी को स्थापित करने में त्रुटि:
    त्रुटि: मणि देशी विस्तार बनाने में विफल।

/usr/bin/ruby1.8 extconf.rb
sqlite3.h के लिए जाँच ... नहीं
sqlite3.h गायब है। 'Port install sqlite3 + Universal' या 'yum install sqlite3-devel' आज़माएँ
*** extconf.rb विफल ***
किसी कारण से Makefile नहीं बना सका, शायद कमी थी
आवश्यक पुस्तकालय और / या हेडर। अधिक के लिए mkmf.log फ़ाइल की जाँच करें
विवरण। आपको कॉन्फ़िगरेशन विकल्पों की आवश्यकता पड़ सकती है।

उपलब्ध कॉन्फ़िगरेशन विकल्प:
    --with-ऑप्ट-निर्देशिका
    --without-ऑप्ट-निर्देशिका
    --with-ऑप्ट शामिल
    --without-ऑप्ट शामिल = $ {ऑप्ट-निर्देशिका} / शामिल
    --with-ऑप्ट lib
    --without-ऑप्ट lib = $ {ऑप्ट-निर्देशिका} / lib
    --with-मेक-prog
    --without-मेक-prog
    --srcdir =।
    --curdir
    --ruby = / usr / bin / ruby1.8
    --with-sqlite3-निर्देशिका
    --without-sqlite3-निर्देशिका
    --with-sqlite3-शामिल
    --without-sqlite3-शामिल = $ {sqlite3-निर्देशिका} / शामिल
    --with-sqlite3-लिब
    --without-sqlite3-lib = $ {sqlite3-निर्देशिका} / lib


निरीक्षण के लिए मणि फाइलें /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1 में स्थापित रहेंगी।
परिणाम /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1/ext/sqlite3/gem_make.out पर लॉग इन हुए

sqlite3.h में स्थित है / usr / शामिल /

sudo gem install sqlite3-ruby --without-sqlite3-इसमें = / usr / शामिल हैं

काम नहीं करता है

त्रुटि: मणि निष्पादित करते समय ... (OptionParser :: InvalidOption)
    अमान्य विकल्प: --without-sqlite3- में = / usr / शामिल हैं

उबंटू 10.04


एक ही मुद्दा - यह जवाब नहीं है। sqlite3.h गैर-मौजूद है और उपरोक्त सभी पैकेज स्थापित हैं। ubunut 10.10
rrt

Apt-get sudo apt-get install-Essential और उसके बाद sudo gem इंस्टॉल करें sqlite3-ruby
दिमित्री

1
तब से यह सिर्फ बदल गया है sqlite3, नहींsqlite3-ruby
kelloti

3
Ubuntu 12.04 पर मेरे लिए काम किया जैसा कि मार्शालुका ने सुझाव दिया था। sudo apt-get install libsqlite3-dev
panta

जवाबों:


585

आपको संकलित करने के लिए मणि के मूल विस्तार के लिए SQLite3 विकास शीर्षकों की आवश्यकता है। आप उन्हें चलाकर स्थापित कर सकते हैं (संभवतः के साथ sudo):

apt-get install libsqlite3-dev

26
मुझे जरूरत थी sudo apt-get install libsqlite3-dev। धन्यवाद।
बी सेवन

6
एक जादू की तरह काम किया। धन्यवाद।
फ्रैंक

धन्यवाद-यह निश्चित रूप से स्पष्ट नहीं होता।
james_womack

15

आपको बस --वहां की जरूरत है ।

sudo gem install sqlite3-ruby -- --with-sqlite3-include=/usr/include

यह निर्दिष्ट करता है कि विकल्प सीधे मणि नहीं है, लेकिन विशिष्ट मणि है।


8

मेरे मामले में मेरे पास कोई बुनियादी संकलक स्थापित नहीं है, इसलिए

sudo apt-get install build-essential

मेरी समस्या को हल किया है, लेकिन ज्यादातर लोगों के लिए मुझे लगता है कि https://stackoverflow.com/a/3649005/417267 इसका समाधान है।


1
यह मेरी समस्या थी। धन्यवाद।
j दुख की बात है

6

यदि आप ubuntu में चलते हैं, और रेल पर रूबी के लिए RVM का उपयोग करते हैं, तो कृपया FIRST जोड़ें:

sudo apt-get install libxslt-dev libxml2-dev

या आप इन आदेशों की जाँच कर सकते हैं:

यह कमांड आपके लिए दो पैकेज तैयार करेगा: sqllite3 और libsqlite3-dev

sudo apt-get install sqlite3 libsqlite3-dev

-अब, साइक्लाइट रत्न स्थापित करें

 [sudo] gem install sqlite3-ruby

-Ubuntu Ubuntu sudo की जरूरत नहीं है।

सौभाग्य! नोट: मैं Ubuntu 10.10 का उपयोग कर रहा हूँ और यह काम कर रहा है।




4

अन्य सभी समाधानों की कोशिश की, किसी ने मदद नहीं की।

यह पता चला कि आपको माणिक के लिए भी देव पैकेज की आवश्यकता है। मेरे लिए, इससे मदद मिली

sudo apt-get install ruby-full

यह बहुत बुरा निर्भरता है, हालांकि (जैसे emacs, wtf?), बस

sudo apt-get install ruby1.8-dev

ठीक होना चाहिए। इसे स्थापित करने के बाद (और आपके पास स्केलाइट और sqlite-dev संकुल स्थापित हैं)

sudo gem install sqlite3-ruby

एक जादू की तरह काम करता है।


1
मेरे लिए भी काम किया। sudo apt-get install ruby1.9.1-dev libsqlite3-dev
rajsite


1

यह एक ही समस्या थी और निम्नलिखित मेरे लिए काम किया:

संकलित पुस्तकालय के रूप में sqlite3 संकलित करें, अपने घर निर्देशिका में कहीं स्थापित करें और फिर मणि स्थापित करने की प्रक्रिया के लिए वह विकल्प प्रदान करें।

डाउनलोड पृष्ठ पर जाएं और स्रोत को पकड़ो। इस समय सबसे हाल का संस्करण http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz है

tar -xf फाइल पर या जो कुछ भी आप सामान्य रूप से अनकम्प्रेस करने के लिए करते हैं; निर्देशिका दर्ज करें

./configure-disable- शेयर्ड --enable-static-prefix = / some / पाथ / इन / my होम

संकलन, स्थापित करें, और जब आप मणि स्थापित कर रहे हों ...

मणि स्थापित sqlite3- रूबी - - साथ- sqlite3-dir = / / / मेरे घर में कुछ / पथ /


1

से sqlite3-माणिक रत्न ubuntu पर sqlite3.h नहीं मिल सकता है :

आपको स्वयं ही जीसीसी स्थापित करने की आवश्यकता है, इसलिए कुल मिलाकर यह होगा:

sudo apt-get install gcc libsqlite3-dev ruby1.8-dev
sudo gem install sqlite3

जाहिरा तौर पर आपको एक लापता sqlite3.h की ओर इशारा करते हुए एक गलत त्रुटि मिलती है जब वास्तविक समस्या खुद ही गायब हो जाती है।


1

समाधान मापदंडों से --अलग configureमापदंडों को जोड़ने के लिए है gem

के बजाय

sudo gem install sqlite3-ruby --without-sqlite3-include=/usr/include

यह कोशिश करें, सभी एक पंक्ति में, --अंतिम gemपैरामीटर के बाद और configureमापदंडों से पहले शामिल करना सुनिश्चित करें :

sudo gem install sqlite3 --
--with-sqlite3-lib=/somewhere/local/lib
--with-sqlite3-include=/somewhere/local/include

यह आपको इस त्रुटि के आसपास मिलना चाहिए:

ERROR:  While executing gem ... (OptionParser::InvalidOption)
    invalid option: --without-sqlite3-include=/usr/include

यह वही था जो मुझे चाहिए था - इस प्रस्तुतकर्ता को बड़ा धन्यवाद!
डेविड लॉय

0

नहीं --without-sqlite3-include=/usr/include, लेकिन --with-sqlite3-include=/usr/include


यदि sqlite3.h वास्तव में गायब है और नहीं / usr / में शामिल है जैसा कि आपने कहा था, तो आप इसे स्थापित कर सकते हैं: sudo apt-get install libsqlite3-dev
कर्ट

मैंने पहले ही यह कर लिया है .. यह मदद नहीं करता है। मेरे पास sqlite3 और libsqlite3-dev स्थापित है।
दिमित्री

0

यह ठीक वैसी ही समस्या है जो मुझे कुछ हफ्ते पहले हुई थी। मुझे पता चला कि मुझे SQLite डाउनलोड पृष्ठ से सबसे हालिया हेडर / लाइब्रेरी डाउनलोड करने की आवश्यकता है। इसे आज़माएं, आशा है कि यह मदद करता है!



0

मैं Danya Vershinin & EnotionZ से सहमत हूं ।

अगर apt-get का उपयोग नहीं कर सकते हैं:

  1. संकलित करें और अपने स्वयं के "उपसर्ग" पथ को निर्दिष्ट करके स्रोतों से sqlite3 स्थापित करें। अधिक जानकारी README में पाई जा सकती है।
  2. तब sqlite3- रूबी इंस्टॉलर के लिए इस मार्ग को पारित किया ("-" मत भूलना)।

0

आपने RVM का संस्करण तोड़ दिया है। उबंटू आरवीएम के लिए कुछ करता है जो बहुत सारी त्रुटियों का उत्पादन करता है, अब के लिए फिक्सिंग का एकमात्र सुरक्षित तरीका है: सूडो एप्ट-गेट - अप्पे रूबी-आरवीएम सुडो आरएम-आरएफ / यूएसआर / शेयर / रूबी को हटा दें ... अगर यह मदद नहीं करता है फिर अपने कंप्यूटर को पुनरारंभ करें। आरवीएम स्थापित करें: \ कर्ल -L https://get.rvm.io | bash -s स्थिर - ruby ​​--autolibs = enable --auto-dotfiles यदि आपको लगता है कि आपको कुछ हाथ से पकड़ने की आवश्यकता है, तो Ubuntu 12.04 पर Ruby को स्थापित करने पर एक नज़र डालें, जो थोड़ा और स्पष्टीकरण देता है


0

सब कुछ भूल जाओ और यह करो,

Daud

yum install ruby-devel sqlite sqlite-devel ruby-rdoc
yum install make gcc
gem install sqlite3-ruby
bundle install

कि rhel के लिए, ubuntu के लिए समान चलाएं।


0

ऊपर वर्णित किसी भी समाधान ने मेरे लिए काम नहीं किया, यहां तक ​​कि स्थापित करने के बाद ruby2.5-devऔर libsqlite3-dev। फिर उपयोग करने की कोशिश कीPostgreSql बजाय का करने की की sqlite। यह ठीक काम किया। प्रोजेक्ट PostgreSqlबनाने के दौरान साइक्लाइट के बजाय उपयोग करने के लिए इस कमांड का उपयोग करें rails

rails [_VERSION_] new project_name -d postgresql

यदि आप उपयोग करना चाहते हैं MySql तो mysqlइसके बजाय उपयोग करें postgresql

rails [_VERSION_] new project_name -d mysql

और आप बिना कोशिश कर सकते हैं sqlite

bundle install --without sqlite

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