Wenn ich versuche, die grundlegende Installation und Initiierung des Servers mit Rails 4.0.0 unter Ruby 2.0.0 einzurichten, wird die folgende Fehlermeldung angezeigt.
/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>'
Wie kann ich diese Fehlermeldung vermeiden und fortfahren?
ruby-on-rails
sqlite
Penchala Reddy Audireddy
quelle
quelle
Antworten:
Finden Sie Ihre sqlite3 gemspec-Datei. Ein Beispiel ist
/usr/local/share/gem/specifications/sqlite3-1.3.7.gemspec
Windows :
C:\Ruby21\lib\ruby\gems\2.1.0\specifications
.Sie sollten entsprechend Ihrem Rubygem-Pfad und Ihrer sqlite3-Version anpassen. Bearbeiten Sie die Datei oben und suchen Sie nach der folgenden Zeile
ändere es auf
quelle
Siehe :https://stackoverflow.com/a/39136421/6755206
Zum Glück müssen Sie nicht auf Ruby 2.0
umsteigen. Nach endlosen Versuchen gibt es eine Lösung für dieses Problem.
https://github.com/hwding/sqlite3-ruby-win
Schritte
Vor
gem uninstall sqlite3 --all
Quelle
Bauen
gem install bundler
bundle install
rake native gem
Installieren
gem install --local sqlite3-xxx.gem
('xxx' ist Versionscode)Prüfen
irb
require 'sqlite3'
quelle
pkg
.you'll find a dir named 'pkg' generated
funktioniert , da ich nirgendwo ein solches Verzeichnis gesehen habe. Die unten stehende Lösung von @Edson Momm hat bei mir funktioniert.Da die Pull-Anforderung Nr. 229 zusammengeführt wurde, kann sqlite3 pro
git:
Schlüssel installiert werden . Es ist möglich, sqlite3 einfach durch diesen Zusatz in Ihrem zu verwendenGemfile
:Dies funktioniert unter RubyInstaller-2.4 und höher. Das erforderliche Pacman-Paket wird
mingw-w64-x86_64-sqlite3
beim Ausführen automatisch installiertbundler install
.Weitere Hinweise zu Rails unter Windows finden Sie in den RubyInstaller2-FAQ .
quelle
Dies löste das Problem für mich.
quelle
bundle install
neues Juwel installieren würde, erneut auf dieses Problem stoßen würde und die obigen Schritte wiederholen müsste.Bearbeiten Sie einfach Gemfile und fügen Sie hinzu
gem 'sqlite3', platform: :ruby
.quelle
Kein Kompilieren der Quellen oder Herunterladen vorkompilierter Bibliotheken wird dieses Problem lösen. Glauben Sie mir, ich habe alles versucht, das Problem liegt woanders. So funktioniert es unter Windows:
bundle update sqlite3
Wahrscheinlich erhalten Sie nach diesem einen weiteren ähnlichen Fehler in Bezug auf Nokiaogiri. Beheben Sie ihn mit dem folgenden Befehl:
bundle update nokogiri
Viel Spaß mit Ihrer Ruby App!
quelle
Das Deinstallieren und Neuinstallieren des sqlite3-Edelsteins hat bei mir funktioniert.
quelle
Das hat bei mir funktioniert:
quelle
BESTE OFFIZIELLE INSTALLATION
Ich benutze Rails 5.2.1p57, Windows 10 Nur das Ausführen der folgenden Zeilen hat das Problem behoben
und deinstallieren Sie alle installierten Versionen. Führen Sie den folgenden Befehl erneut aus
Sie sind jetzt fertig. Lassen Sie mich wissen, wenn das Problem weiterhin besteht.
quelle
Wenn die Top-Antwort nicht funktioniert, geht ein von mir entdeckter Fix einfach zu Ihrem Gemfile und fügt direkt nach sqlite3 die Versionsnummer 1.3.11 (anstelle von 1.3.9) hinzu. Die Zeile in Ihrer Gemfile sollte nun lauten:
quelle
Ich hatte den gleichen Fehler, als ich meine Ruby-Version auf 2.5.X aktualisierte. Ich
rails task --trace
habe festgestellt, dass sqlite3 für Version 2.5 nicht verfügbar ist, als ich mein GemFile ändere, ändere ich das Gem "sqlite3" in "sqlite3-ruby", nachdem ich das Gem "sqlite3" deinstalliert und schließlich das ausgeführt habebundle install
.Ich weiß nicht, was der Grund ist ... Ich habe gelesen, dass "sqlite3" für Ruby 2.5 noch nicht verfügbar ist, bin mir aber nicht sicher.
quelle
Um diesen Fehler zu vermeiden, stellen Sie sicher, dass er
gem sqlite3
zu Ihrer Gemfile hinzugefügt wurde. Extrahieren Sie dann "exe" und "dll" aus dem Sqlite-Download-Link in Rubys bin-Ordner. Wenn das Problem weiterhin besteht. Versuche dies:bundle update
gem uninstall sqlite3
Wenn Sie zwischen mehreren Versionen von sqlite3 wählen können, wählen Sie die letzte Option "Alle Versionen". Geben Sie hier die letzte Nummer ein
gem install sqlite3 --platform=ruby
rails s
Das sollte funktionieren.
Lesen Sie diesen Link, um weitere Erklärungen zu erhalten, falls dies für Sie funktioniert.
quelle
Das ist mir auch passiert. Es stellte sich heraus, dass ich ursprünglich SQLite 1.3.10 installiert hatte, aber dann einige Juwelen aus dem Screencasts-Projekt des Rails-Tutorials kopierte und SQLite 1.3.9 auflistete. Dann habe ich den gleichen Fehler bekommen, den Sie gemacht haben. Ich habe es wieder auf 1.3.10 geändert und es hat funktioniert.
(Dies ist unter Windows 7. Ich habe das Screencast-Tutorial unter Cloud9 IDE ausgeführt.)
quelle
Dies ist die einzige für mich funktionierende Lösung, die aus diesem GitHub-Beitrag abgeleitet wurde :
./configure --disable-shared
.make install DESTDIR=/c/dev/ruby/tmp
. Sie können das Verzeichnis ändern.gem uninstall sqlite3 --all
, um alle vorhandenen sqlite3-Edelsteine zu entfernen.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
. Diese include- und lib-Verzeichnisse können unterschiedlich sein. Überprüfen Sie dies zunächst.Ich verwende Ruby Version 2.5.1 und Rails Version 5.2.0 unter Windows 10.
quelle
Aktualisiert
Hinzufügen des Folgenden zu der für mich festgelegten Gem-Datei: gem 'sqlite3', '1.4.0', platform :: ruby
quelle
Ändern Sie Ihren sqlite3-Edelstein in der Gemfile wie folgt:
Dann renne:
quelle
ich habe es gefunden! Ich habe diese https://www.youtube.com/watch?v=lsrzvX0qzmA gesehen, die
ich installiert habe: Rails-Version: 5.2.1 Ruby-Version: 2.5.3 (x64-mingw32) Sqlite-Version 1.3.13
und ich habe Ihr Problem. . meine Lösung:
folgende Ordner: "sqlite3-1.3.13" "sqlite3-1.3.13-x64-mingw32"
C: \ Ruby25-x64 \ lib \ ruby \ gems \ 2.5.0 \ gems \ sqlite3-1.3.13 \ lib \ sqlite3 \ sqlite3_native.so
quelle
Für OSX-Benutzer kann dies auf die Verwendung eines Ruby-Managers (z. B. rvm) zurückzuführen sein.
Wenn Sie Ihr ~ / .bash_profile bearbeiten und Folgendes hinzufügen:
Sie können das Problem umgehen. Starten Sie Xcode neu, bevor Sie versuchen, erneut zu erstellen.
Das eigentliche Problem wird hier verfolgt: https://openradar.appspot.com/28726736 ).
Das volle Guthaben geht an: https://egeek.me/2018/04/14/ipa-export-error-in-xcode-and-ruby/
quelle