Lorsque j'essaie de configurer l'installation de base et l'initiation du serveur à l'aide de Rails 4.0.0 sur Ruby 2.0.0, je suis confronté au message d'erreur suivant.
/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>'
Comment éviter ce message d'erreur et continuer?
ruby-on-rails
sqlite
Penchala Reddy Audireddy
la source
la source
Réponses:
Trouvez votre fichier gemspec sqlite3. Un exemple est
/usr/local/share/gem/specifications/sqlite3-1.3.7.gemspec
Windows:
C:\Ruby21\lib\ruby\gems\2.1.0\specifications
.Vous devez ajuster en fonction de votre chemin Rubygem et de la version de sqlite3. Modifiez le fichier ci-dessus et recherchez la ligne suivante
changez-le en
la source
voir :https://stackoverflow.com/a/39136421/6755206
heureusement, vous n'êtes pas obligé de passer à ruby 2.0,
il existe une solution à ce problème, après des essais sans fin ...
https://github.com/hwding/sqlite3-ruby-win
Pas
Pré
gem uninstall sqlite3 --all
La source
Construire
gem install bundler
bundle install
rake native gem
Installer
gem install --local sqlite3-xxx.gem
('xxx' est le code de version)Vérifier
irb
require 'sqlite3'
la source
pkg
.you'll find a dir named 'pkg' generated
car je n'ai vu un tel répertoire nulle part. La solution de @Edson Momm ci-dessous a fonctionné pour moi.Depuis la fusion de la demande d'extraction n ° 229 , sqlite3 peut être installé par
git:
clé. Il est possible d'utiliser sqlite3 facilement grâce à cet ajout dans votreGemfile
:Cela fonctionne sur RubyInstaller-2.4 et plus récent. Il installe automatiquement le package pacman requis
mingw-w64-x86_64-sqlite3
lorsque vous exécutezbundler install
.Il y a d'autres astuces pour Rails sous Windows dans la FAQ RubyInstaller2 .
la source
gem uninstall sqlite3 --all ridk exec pacman -S mingw-w64-x86_64-sqlite3 gem inst sqlite3 --platform ruby
Cela m'a résolu le problème.
la source
bundle install
pour installer un nouveau bijou, je rencontrerais à nouveau ce problème et aurais besoin de répéter les étapes ci-dessus.Modifiez simplement Gemfile et ajoutez
gem 'sqlite3', platform: :ruby
.la source
Aucune compilation des sources ou téléchargement de bibliothèques pré-compilées ne résoudra ce problème, croyez-moi j'ai tout essayé, le problème se situe ailleurs. Voici comment cela fonctionne sur Windows:
bundle update sqlite3
Vous obtiendrez probablement une autre erreur similaire après celle-ci concernant nokogiri, corrigez-la avec la commande:
bundle update nokogiri
Profitez de votre application Ruby!
la source
La désinstallation et la réinstallation du gem sqlite3 ont fonctionné pour moi.
gem uninstall sqlite3 bundle
la source
Cela a fonctionné pour moi:
la source
MEILLEURE INSTALLATION OFFICIELLE
J'utilise des rails 5.2.1p57, Windows 10 Le simple fait d'exécuter les lignes suivantes a résolu le problème
gem uninstall sqlite3
et désinstallez toutes les versions installées. exécuter à nouveau la commande suivante
gem install sqlite3 --platform=ruby
Vous avez maintenant terminé. Faites-moi savoir si le problème persiste.
la source
Si la réponse principale ne fonctionne pas, un correctif que j'ai découvert est simplement d'aller dans votre Gemfile et d'ajouter le numéro de version 1.3.11 (au lieu de 1.3.9) juste après sqlite3. Donc, la ligne de votre Gemfile devrait maintenant lire:
# Use sqlite3 as the database for Active Record gem 'sqlite3', '1.3.11'
la source
J'ai eu la même erreur lorsque j'ai mis à niveau ma version Ruby vers 2.5.X. J'ai suivi avec
rails task --trace
cela le sqlite3 n'est pas disponible à la version 2.5, que je change mon GemFile le changement de gem "sqlite3" en "sqlite3-ruby", après avoir désinstallé le gem "sqlite3" et enfin je lance lebundle install
.Je ne sais pas quelle est la raison ... J'ai lu que "sqlite3" n'est pas encore disponible pour ruby 2.5, mais je ne suis pas sûr.
la source
Pour éviter cette erreur, assurez-vous qu'il
gem sqlite3
est ajouté à votre Gemfile. Ensuite, extrayez les "exe" et "dll" du lien de téléchargement Sqlite vers le dossier bin de Ruby. Si le problème persiste. Essaye ça:bundle update
gem uninstall sqlite3
Si vous avez le choix entre plusieurs versions de sqlite3, choisissez la dernière option «Toutes les versions». Entrez le dernier numéro ici
gem install sqlite3 --platform=ruby
rails s
Cela devrait fonctionner.
Lisez ce lien pour plus d'explications si ci-dessus fonctionne pour vous.
la source
Cela m'est également arrivé. Il s'est avéré que j'avais initialement installé SQLite 1.3.10, mais j'ai ensuite copié quelques gemmes du projet de screencasts du tutoriel Rails et il a répertorié SQLite 1.3.9. Ensuite, j'ai eu la même erreur que vous. Je l'ai changé en 1.3.10 et cela a fonctionné.
(Ceci est sur Windows 7. J'exécutais le didacticiel de screencast sur Cloud9 IDE).
la source
C'est la seule solution qui a fonctionné pour moi, dérivée de cet article sur le problème GitHub :
./configure --disable-shared
.make install DESTDIR=/c/dev/ruby/tmp
. Vous pouvez changer de répertoire.gem uninstall sqlite3 --all
pour supprimer toutes les gemmes sqlite3 existantes.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
. Les répertoires include et lib peuvent être différents, donc vérifiez d'abord.J'utilise Ruby version 2.5.1 et Rails version 5.2.0 sur Windows 10.
la source
je l'ai trouvé! J'ai vu ceci https://www.youtube.com/watch?v=lsrzvX0qzmA
j'ai installé: Version Rails: 5.2.1 Version Ruby: 2.5.3 (x64-mingw32) Sqlite version 1.3.13
et j'ai votre problème .. . ma solution:
vous avez des dossiers: "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
la source
Mis à jour
Ajout de ce qui suit au Gemfile corrigé pour moi: gem 'sqlite3', '1.4.0', plates-formes:: ruby
la source
Changez votre gem sqlite3 dans le Gemfile pour cela:
Puis exécutez:
bundle install
la source
Pour les utilisateurs OSX, cela peut résulter de l'utilisation d'un gestionnaire ruby (par exemple rvm).
Si vous modifiez votre ~ / .bash_profile et ajoutez ceci:
[[ "$APP" = *"/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/"* ]] && { echo Xcode detected rvm use system }
Vous pouvez contourner le problème. Redémarrez Xcode avant de tenter de construire à nouveau.
Le problème réel est suivi ici: https://openradar.appspot.com/28726736 ).
Le crédit complet va à: https://egeek.me/2018/04/14/ipa-export-error-in-xcode-and-ruby/
la source