2010-12-15 11 views
6

मैं आरवीएम की कोशिश कर रहा हूं, और रूबी 1.9.2 स्थापित किया और इसके साथ रेल 3। मुझे sqlite3-ruby मणि को फिर से स्थापित करने की आवश्यकता है (चूंकि आरवीएम रूबी के विभिन्न संस्करणों के लिए अलग-अलग रत्न रखता है)।रेल 3 आरवीएम के साथ sqlite3-ruby मणि स्थापित नहीं करेगा?

समस्या यह है, जब मैं कोशिश, मैं मिलता है:

 gem install sqlite3-ruby 
/home/jenny/.rvm/rubies/ruby-1.9.2-p0/bin/gem:4: warning: Insecure world writable dir /home/jenny/.rvm/gems/ruby-1.9.2-p0/bin in PATH, mode 040777 
Building native extensions. This could take a while... 
ERROR: Error installing sqlite3-ruby: 
    ERROR: Failed to build gem native extension. 

/home/jenny/.rvm/rubies/ruby-1.9.2-p0/bin/ruby extconf.rb 
checking for sqlite3.h... yes 
checking for sqlite3_libversion_number() in -lsqlite3... yes 
checking for rb_proc_arity()... yes 
checking for sqlite3_initialize()... yes 
checking for sqlite3_next_stmt()... yes 
checking for sqlite3_column_database_name()... yes 
checking for sqlite3_enable_load_extension()... no 
checking for sqlite3_load_extension()... no 
creating Makefile 

make 
gcc -I. -I/home/jenny/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/i686-linux -I/home/jenny/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/ruby/backward -I/home/jenny/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1 -I. -DHAVE_RB_PROC_ARITY -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_NEXT_STMT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME -I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/include -D_FILE_OFFSET_BITS=64 -fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC -o exception.o -c exception.c 
In file included from ./sqlite3_ruby.h:42, 
       from exception.c:1: 
./backup.h:7: error: expected specifier-qualifier-list before ‘sqlite3_backup’ 
make: *** [exception.o] Error 1 

मैं वास्तव में काफी यकीन है कि क्या इसके बारे में बनाने के लिए नहीं ... मैं स्थापित किया है इस मशीन से पहले पर sqlite3-माणिक हूँ (पटरियों के साथ 2.3.5) जब मैं इस मणि को पुनः स्थापित करने का प्रयास करता हूं (आरवीएम सिस्टम सेटिंग्स का उपयोग करके) यह एक रूबी 1.8.7 enviornment, EITHER में स्थापित नहीं है।

क्या आरवीएम ने मणि तोड़ दिया? क्या नया मणि सिर्फ मेरे ओएस के साथ संगत नहीं है (मैं opensuse linux चला रहा हूं)

संपादित करें: जब मैं अपने नियमित रूबी वातावरण में sqlite3-ruby को पुनः स्थापित करने (पुनः स्थापित करने से अनइंस्टॉल करने) का प्रयास करता हूं, तो मुझे एक ही त्रुटि मिलती है है, लेकिन फिर (त्रुटि के बावजूद यकीन है कि अगर यह किसी भी तरह बैकअप से पुनर्स्थापित, या स्थापित करने नहीं) sqlite3-माणिक मेरी मणि सूची में सूचीबद्ध देख

+0

आपके कंप्यूटर पर SQLite का कौन सा संस्करण स्थापित है? – bhamby

+1

जब मैं "sqlite3 -version" टाइप करता हूं तो मुझे "3.6.4" – Jenny

+0

मिलता है लेकिन जब मैं "sqlite -version" टाइप करता हूं, तो मुझे "2.8.17" मिल जाता है ... – Jenny

उत्तर

4

आप

gem install sqlite3-ruby -- --with-sqlite3-dir=/path/to/your/sqlite3 

की कोशिश कर सकते और यदि काम नहीं करता है, आप update your sqlite3 पर आज़मा सकते हैं, 3.6.4 पुराना है, और मुझे लगता है कि रूबी स्क्लाइट के नए संस्करणों में पुरानी चीज़ों की समस्या है।

(और सबसे संभावित कारण यह है कि आप दोनों के साथ अलग-अलग जवाब प्राप्त कर रहे हैं यह है कि संस्करण 2 और 3 के बीच एक बड़ा परिवर्तन था - ज्यादातर यूनिकोड से निपटने, मुझे विश्वास है - और कुछ प्रोग्राम अभी भी 2 का उपयोग करते हैं, नहीं 3.)

+0

भ्रमित करना कि मणि इंस्टॉल पथ मुझे नई और रोमांचक त्रुटियां प्राप्त करता है , इसलिए मैंने अपने sqlite3 को अपडेट करने का प्रयास करने के लिए स्विच किया।यस्ट (ओपन्यूज के पैकेज मैनेजर) के माध्यम से ऐसा करना एक बस्ट था, यह दावा करता है कि एक अद्यतन "प्रदान नहीं किया जा सकता"। मान लीजिए मैं आपका डाउनलोड लिंक आज़माउंगा ... – Jenny

3

जब मैं स्रोत से sqlite3 स्थापित यह/usr/स्थानीय/में शामिल फाइलों रखा शामिल

मैं

gem install sqlite3-ruby -- --with-sqlite3-dir=/usr/local/lib 

की कोशिश की और यह अंत में स्थापित किया।

0

ubuntu 9.04 पर मैं भी SQLite डाउनलोड करने और मैं वोट देने या ब्रेनन के जवाब पर टिप्पणी करूँगा स्रोत

6

से स्थापित करने के लिए किया था, लेकिन मैं पर्याप्त अंक करना अभी तक कि की जरूरत नहीं है। मैंने सोचा कि अगर मैं किसी और की मदद करता हूं तो मैं यह जवाब छोड़ दूंगा: मैंने इस पर थोड़ी देर बिताई है ... मेरे पास रूबी 1.9.1 थी और रेल 3.0.3 स्थापित और काम कर रहा था लेकिन आरवीएम में जाने का फैसला किया। फिर से दिशा-निर्देश और उसके बाद स्थापित रेल, सभी ग्रेवी के अनुसार स्थापित RVM ... तो स्थापित बंडल करने की कोशिश की और sqlite3 के साथ इस त्रुटि का सामना किया:

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

/Users/Jasonp/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb 
checking for sqlite3.h... yes 
checking for sqlite3_libversion_number() in -lsqlite3... no 
sqlite3 is missing. Try 'port install sqlite3 +universal' 
or 'yum install sqlite3-devel' and check your shared library search path (the 
location where your sqlite3 shared library is located). 
*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

मैं जानता हूँ कि मैं SQLite3 मेरे पिछले config में पहले से काम कर रहा था, तो मैं मूल डीआईआर खोजने के लिए चला गया। जो usr/local/sqlite3

मैंने इसे --with-sqlite3-dir= पथ के रूप में उपयोग करने का प्रयास किया लेकिन काम नहीं किया। फिर बस मज़े के लिए मैंने कोशिश की:

gem install sqlite3-ruby -- --with-sqlite3-dir=/usr/local/lib 

और काम करने वाले कारण के लिए, जो काम करता था। तो, अगर किसी के मामले में

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