ऐसी फ़ाइल लोड नहीं कर सकते - रेलली 3 / sqlite3_native (लोडर्रर) रेल पर रूबी पर


84

जब मैं रूबी 2.0.0 पर रेल 4.0.0 का उपयोग करके मूल स्थापना और सर्वर की शुरुआत करने की कोशिश करता हूं, तो मुझे निम्न त्रुटि संदेश का सामना करना पड़ रहा है।

/usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError)
    from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `rescue in <top (required)>'
    from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:2:in `<top (required)>'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
    from /home/penchal/new/site/config/application.rb:7:in `<top (required)>'
    from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:76:in `require'
    from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:76:in `block in <top (required)>'
    from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `tap'
    from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `<top (required)>'
    from bin/rails:4:in `require'
    from bin/rails:4:in `<main>'

मैं इस त्रुटि संदेश से कैसे बच सकता हूं और आगे कैसे बढ़ सकता हूं?


आप किस ओएस पर यह कोशिश कर रहे हैं?
सैफिस

एक विंडोज़ समस्या लगती है। समाधान अलग-अलग होते हैं। देखें कि क्या यह आपके लिए क्या करेगा stackoverflow.com/a/6126062/2576857
डूडाड

1
लेकिन ऐसा नहीं लगता कि वह खिड़कियों का उपयोग कर रहा है। शायद यह लेख मदद का होगा।
अल्ताफ हमीज

अरे हाँ, / usr / स्थानीय / आदि, देखा कि अब, मेरा बुरा। मैंने जो पाया, उसमें से ज्यादातर लोगों को यह समस्या थी क्योंकि यह साइक्लाइट के कारण होता था और पीएटीएच चर में नहीं होता था, लेकिन यह केवल विंडोज़ उपयोगकर्ताओं के लिए होता था। मुझे लगता है कि आपके द्वारा प्रदान किए गए लेख को नाखून को सिर पर मारना चाहिए, लेकिन चलो इंतजार करें और देखें।
डूडाड

यदि रेल्स 4 और रूबी 2.1। - देखो यहाँ
discipleartem

जवाबों:


121

अपनी sqlite3 जवाहरात फ़ाइल का पता लगाएं। एक उदाहरण है /usr/local/share/gem/specifications/sqlite3-1.3.7.gemspec

विंडोज: C:\Ruby21\lib\ruby\gems\2.1.0\specifications

आपको अपने Rubygem पथ और sqlite3 संस्करण के अनुसार समायोजित करना चाहिए। ऊपर दी गई फ़ाइल को संपादित करें और निम्न पंक्ति देखें

s.require_paths=["lib"]

इसे बदलो

s.require_paths= ["lib/sqlite3_native"]

7
यह एक समस्या के लिए एक शानदार त्रुटि है जो पहले स्थान पर मौजूद नहीं होनी चाहिए, विंडोज पर रेल उपयोगकर्ताओं की संख्या को देखते हुए। मुझे यह जानना अच्छा लगेगा कि वास्तव में यह क्यों काम करता है ...

1
इसने 1.3.9 के लिए काम किया लेकिन 1.3.11 के लिए आवश्यक नहीं था। मैं Win7 x64 पर हूं।
किडक्विक

3
यह पहले से ही प्रस्तुत और त्रुटि: 'active_record / connection_adapters / sqlite3_adapter' को लोड नहीं कर सका। सुनिश्चित करें कि config / database.yml में एडाप्टर मान्य है। यदि आप 'mysql2', 'postgresql' या 'sqlite3' के अलावा किसी एडेप्टर का उपयोग करते हैं, तो आवश्यक एडेप्टर रत्न को Gemfile में जोड़ें।
स्टर्लिंग डियाज

3
एडॉप्टर के साथ उपर्युक्त त्रुटि हल करने योग्य नहीं लगती है, ऐसा करने से क्या पता चलता है कि नीचे दी गई ह्वाडिंग पहले मुझे कुछ समय बचाती है - फिर भी, हो सकता है कि वे इसे अगले रिलीज़ में ठीक कर दें, या RailsInstaller जैसे स्टैक्ड पैकेजों में इसे ठीक कर दें रूबी २.३.१ विथ डेकीट (बिल्ड टूल्स के साथ mingw), rails5.0.0.1) ps यह अविश्वसनीय है कि यह समस्या अभी भी बनी हुई है, २ साल बाद - कंकाल डिफ़ॉल्ट अनुप्रयोग में डिफ़ॉल्ट रूप से sqlite का उपयोग किया जाता है और जाने का तरीका है in guide.rubyonrails.org/getting_started.html
hello_earth

2
दो साल? कैसे के बारे में तीन साल?
वारेन पी

19

देखें: https://stackoverflow.com/a/39136421/6755206

सौभाग्य से, आपको रूबी 2.0 पर स्विच करने की आवश्यकता नहीं है
, अंतहीन कोशिश के बाद, इस मुद्दे का समाधान है ...

https://github.com/hwding/sqlite3-ruby-win


कदम

पूर्व

  • gem uninstall sqlite3 --all

स्रोत

बिल्ड

  • निकाली गई डायर में कमांड-लाइन चलाएं
  • सुनिश्चित करें कि आपने अपना C कंपाइलर स्थापित किया है और PATH में जोड़ा है
  • gem install bundler
  • bundle install
  • rake native gem
  • आपको 'pkg' नाम का एक डायर मिलेगा

इंस्टॉल

  • dir 'pkg' दर्ज करें
  • gem install --local sqlite3-xxx.gem ('xxx' संस्करण कोड है)

जाँच

  • irb
  • require 'sqlite3'

1
साभार @hwding यह पूरी तरह से काम करता है! मेरे मामले में, विंडोज उपयोगकर्ता, ऐसा लगता है कि दो sqlite3 संस्करण (32 और 64 बिट्स) 'pkg' में संकलित किए गए थे, लेकिन मैंने अभी 64 बिट्स (मेरा मामला) स्थापित किया है।
आउसा

1
हाँ, बहुत कोशिश करने के बाद, यह एकमात्र तरीका है जिसने काम किया .... अन्य लोग ( reddit.com/r/rails/comments/30s1cz/… ) योनि और स्किपिंग जैसी किसी चीज़ पर जाने का सुझाव देते हैं Windows + Rails पूरी तरह से
hel__earth

1
मैं पुष्टि करता हूं कि यह विंडोज़ 10 के लिए काम करने वाला एकमात्र समाधान है; कुछ सुधार की कोशिश की, लेकिन यह केवल एक ही काम कर रहा है।
numediaweb

1
मैंने बताए गए चरणों के अनुसार किया है, लेकिन मुझे नाम के साथ कोई फ़ोल्डर नहीं बनाया गया है pkg
यशु मित्तल

मेरे लिए काम किया you'll find a dir named 'pkg' generatedक्योंकि मैंने ऐसी डायरेक्टरी कहीं नहीं देखी। @ नीचे माँ का समाधान मेरे लिए काम किया।
MSC

19

चूँकि पुल अनुरोध # 229 को विलय कर दिया गया है, sqlite3 प्रति git:कुंजी स्थापित किया जा सकता है । Sqlite3 का उपयोग इस तरह से आसानी से अपने में करना संभव है Gemfile:

gem 'sqlite3', git: "https://github.com/sparklemotion/sqlite3-ruby"

यह RubyInstaller-2.4 और नए पर काम करता है। mingw-w64-x86_64-sqlite3आपके द्वारा चलाए जाने पर यह आवश्यक पचमैन पैकेज को स्वचालित रूप से स्थापित करता है bundler install

RubyInstaller2 FAQ में विंडोज पर रेल के लिए कुछ और संकेत हैं ।


1
यह उत्तर नए रूबी इंस्टॉलर रूबी वर्जन रूबी 2.5.1p57 (2018-03-29 संशोधन 63029) के लिए मददगार है और रेल्स
केटीएम

1
इस बीच पीआर को मर्ज कर दिया गया। मैंने उसी हिसाब से अपना जवाब अपडेट किया।
लार्स कनीस

SSL मुद्दों के बारे में जानने के लिए मैंने उपयोग किया: मणि 'sqlite3', git: "git:
//github.com/sparklemotion/sqlite3-ruby.git

13
gem uninstall sqlite3 --all
ridk exec pacman -S mingw-w64-x86_64-sqlite3
gem inst sqlite3 --platform ruby

इससे मेरे लिए समस्या हल हो गई।

Windows 10
Ruby 2.5.3
Rails 5.2.2

1
ओएमजी यह वास्तविक है: डी केवल यह मेरे लिए काम करता है, विंडोज 10 आरओआर के लिए भयानक है। आपका बहुत बहुत धन्यवाद!
उपयोगकर्ता 987

मेरे लिए भी काम किया। रूबी 2.4 से रूबी 2.6 तक विंडोज़ 10 पर अपडेट के बाद मेरी समस्या शुरू हुई।
21

यह मेरे लिए Win10 रूबी 2.6 (x64) पर भी जवाब था। धन्यवाद!

मुझे वास्तव में कुछ बार ऐसा करना पड़ा। लगता है कि किसी भी समय मैं bundle installएक नया रत्न स्थापित करने के लिए एक काम करूंगा, मैं इस मुद्दे पर फिर से चलूंगा और उपरोक्त चरणों को दोहराने की आवश्यकता होगी।
15

9

बस Gemfile संपादित करें और जोड़ें gem 'sqlite3', platform: :ruby


5

सूत्रों का कोई संकलन या पूर्व-संकलित पुस्तकालयों को डाउनलोड करने से इस समस्या का समाधान नहीं होगा, मुझे विश्वास है कि मैंने सब कुछ करने की कोशिश की, समस्या कहीं और निहित है। यह इस तरह से खिड़कियों पर काम करता है:

bundle update sqlite3

संभव है कि आप इस तरह की एक और त्रुटि के बाद nokogiri के बारे में, इसे कमांड से ठीक करें:

bundle update nokogiri

अपने रूबी ऐप का आनंद लें!


4

Sqlite3 मणि को अनइंस्टॉल और रीइंस्टॉल करना मेरे लिए काम कर गया।

gem uninstall sqlite3

bundle


4

सर्वश्रेष्ठ सरकारी संस्थान

Im 5.2.1p57 रेल का उपयोग करते हुए, विंडोज 10 बस निम्नलिखित लाइनों चल समस्या का नारा दिया

gem uninstall sqlite3

और सभी स्थापित संस्करणों की स्थापना रद्द करें। फिर से कमांड का पालन करें

gem install sqlite3 --platform=ruby

अब तुम हो गए। अगर समस्या बनी रहती है तो मुझे बताएं।


3

यदि शीर्ष उत्तर काम नहीं करता है, तो एक फिक्स जिसे मैंने खोजा है वह बस आपके Gemfile में जा रहा है और sqlite3 के ठीक बाद संस्करण संख्या 1.3.11 (1.3.9 के बजाय) जोड़ रहा है। तो आपके जेमफाइल की पंक्ति अब पढ़नी चाहिए:

# Use sqlite3 as the database for Active Record
gem 'sqlite3',  '1.3.11'

2

जब मैं अपने रूबी संस्करण को 2.5.X में अपग्रेड करता हूं तो मुझे वही त्रुटि थी। मैंने ट्रैक किया rails task --traceकि sqlite3 संस्करण 2.5 के लिए उपलब्ध नहीं है, जब तक मैं अपने रत्न को बदल नहीं देता "रत्न" sqlite3 "बदलकर" sqlite3-ruby "हो जाता है, जब मैं रत्न" sqlite3 "की स्थापना रद्द करता हूं और अंत में मैं चलाता हूं bundle install

मुझे नहीं पता कि क्या कारण है ... मैंने पढ़ा कि "sqlite3" माणिक 2.5 के लिए अभी तक उपलब्ध नहीं है, लेकिन मुझे यकीन नहीं है।


2

इस त्रुटि से बचने के लिए, सुनिश्चित करें कि gem sqlite3आपके जेमफाइल में जोड़ा गया है। फिर Ruby के बिन फोल्डर में Sqlite डाउनलोड लिंक से "exe" s और "dll" s निकालें । अगर समस्या अभी भी बनी हुई है। इसे इस्तेमाल करे:

bundle update

gem uninstall sqlite3

Sqlite3 के कई संस्करणों के बीच एक विकल्प को देखते हुए, अंतिम विकल्प 'सभी संस्करण' चुनें। यहां आखिरी नंबर डालें

स्थापना रद्द करने के लिए मणि का चयन करें:
1. sqlite3-1.3.13
2. sqlite3-1.3.13-x64-mingw32
3. सभी संस्करण
> 3

यदि आप इस रत्न को निकालते हैं, तो ये निर्भरताएं पूरी नहीं होंगी।
स्थापना रद्द करें के साथ जारी रखें? [yN]
> y

gem install sqlite3 --platform=ruby

rails s

यह काम करना चाहिए।

अधिक स्पष्टीकरण के लिए इस लिंक के माध्यम से पढ़ें यदि उपरोक्त आपके लिए काम करता है।


1

यह मुझे भी हुआ था। यह पता चला है कि मैंने मूल रूप से SQLite 1.3.10 स्थापित किया था, लेकिन फिर मैंने रेल ट्यूटोरियल स्क्रैनास्टैक्स प्रोजेक्ट से कुछ रत्नों की नकल की और इसे SQLite 1.3.9 सूचीबद्ध किया। फिर मुझे वही त्रुटि मिली जो आपने की थी। मैंने इसे वापस बदलकर 1.3.10 कर दिया और यह काम कर गया।

(यह विंडोज 7 पर है। मैं Cloud9 IDE पर स्क्रेंकास्ट ट्यूटोरियल चला रहा था)।


1

यह मेरे लिए एकमात्र समाधान है, जो इस GitHub मुद्दे पोस्ट से लिया गया है :

  1. Https://www.sqlite.org/download.html से sqlite3 स्रोतों के ऑटोकॉनफ़ संस्करण प्राप्त करें
  2. MSYS शेल प्रारंभ करें।
  3. अपने sqlite3 के लिए अनपैक्ड स्थान में, केवल पठान पर DLL रखने से बचने के लिए स्थैतिक संस्करण कॉन्फ़िगर करें ./configure --disable-shared:।
  4. बनाएँ और इसे स्थापित करें make install DESTDIR=/c/dev/ruby/tmp:। आप डायरेक्टरी बदल सकते हैं।
  5. खिड़कियों के कमांड प्रॉम्प्ट खोलें और gem uninstall sqlite3 --allसभी मौजूदा sqlite3 रत्नों को हटाने के लिए चलाएं ।
  6. फिर से विंडोज़ के कमांड प्रॉम्प्ट पर, sqlite3 रत्न का निर्माण और स्थापित करें gem install sqlite3 --platform=ruby -- --with-sqlite3-include=C:\dev\ruby\tmp\usr\local\include --with-sqlite3-lib=C:\dev\ruby\tmp\usr\local\lib:। उनमें शामिल हैं और काम करने की निर्देशिका अलग हो सकती है, इसलिए पहले जांच लें।

मैं विंडोज 10 पर रूबी संस्करण 2.5.1 और रेल्स संस्करण 5.2.0 का उपयोग कर रहा हूं।


और जेम के सोर्स फोल्डर में रत्नप्रकाश फ़ाइल
बिलाल कादरी

1

मुझे यह मिला! मैंने यह देखा https://www.youtube.com/watch?v=lsrzvX0qzmA
मैंने इंस्टाल किया: रेल संस्करण: 5.2.1 रूबी संस्करण: 2.5.3 (x64-mingw32) Sqlite संस्करण 1.3.13
और मुझे आपकी समस्या है .. मेरा समाधान:

  1. C: \ Ruby25-x64 \ lib \ ruby ​​\ जवाहरात \ 2.5.0 \ जवाहरात \ जैसे आपके स्थापित फ़ोल्डर में आपके
    पास फ़ोल्डर हैं: "sqlite3-1.3.13" "sqlite3-1.3.13-x64-ming3232"
  2. फ़ाइल का पता लगाएं
    : \ Ruby25-x64 \ liby ruby ​​\ जवाहरात \ 2.5.0 \ जवाहरात \ sqlite3-1.3.13 \ lib \ sqlite3 \ sqlite3_native.so
  3. इसे C में कॉपी करें: \ Ruby25-x64 \ lib \ ruby ​​\ जवाहरात \ 2.5.0 \ जवाहरात \ sqlite3-1.3.13-x64-mingw32 \ lib \ sqlite3 \ 2.5 \ sqlite3_verative.so (फ़ोल्डर मौजूद नहीं हो सकते हैं - बनाएं और बनाएं) पेस्ट)

1

अपडेट किया गया

मेरे लिए तय किए गए जेमफाइल में नीचे जोड़: मणि 'sqlite3', '1.4.0', प्लेटफॉर्म: रूबी



0

OSX उपयोगकर्ताओं के लिए, यह एक रूबी प्रबंधक (जैसे आरवीएम) का उपयोग करने के परिणामस्वरूप हो सकता है।

यदि आप अपना ~ / .bash_profile संपादित करते हैं और इसे जोड़ते हैं:

[[ "$APP" = *"/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/"* ]] && {
  echo Xcode detected
  rvm use system
}

आप मुद्दे के आसपास काम कर सकते हैं। फिर से बनाने का प्रयास करने से पहले Xcode को पुनरारंभ करें।

वास्तविक मुद्दे को यहां ट्रैक किया गया है: https://openradar.appspot.com/28726736 )।

इसका पूरा श्रेय जाता है: https://egeek.me/2018/04/14/ipa-export-error-in-xcode-and-ruby/

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