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, le message d'erreur suivant s'affiche.
/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 puis-je éviter ce message d'erreur et continuer?
Recherchez votre fichier sqlite3 gemspec. 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 votre version de sqlite3 . Editez le fichier ci-dessus et cherchez la ligne suivante
s.require_paths=["lib"]
changez le en
s.require_paths= ["lib/sqlite3_native"]
voir : https://stackoverflow.com/a/39136421/6755206
heureusement, vous n'avez pas à passer à Ruby 2.0
il y a une solution à ce problème, après des tentatives sans fin ...
https://github.com/hwding/sqlite3-Ruby-win
gem uninstall sqlite3 --all
gem install bundler
bundle install
rake native gem
gem install --local sqlite3-xxx.gem
('xxx' est le code de version)irb
require 'sqlite3'
Depuis que la requête # 229 a été fusionnée, sqlite3 peut être installé avec la clé git:
. Il est possible d'utiliser sqlite3 facilement grâce à cet ajout dans votre Gemfile
:
gem 'sqlite3', git: "https://github.com/sparklemotion/sqlite3-Ruby"
Cela fonctionne sur RubyInstaller-2.4 et plus récent. Il installe automatiquement le paquet pacman requis mingw-w64-x86_64-sqlite3
lorsque vous exécutez bundler install
.
Il existe quelques astuces supplémentaires pour Rails sous Windows dans RubyInstaller2 FAQ .
gem uninstall sqlite3 --all
ridk exec pacman -S mingw-w64-x86_64-sqlite3
gem inst sqlite3 --platform Ruby
Cela a résolu le problème pour moi.
Windows 10
Ruby 2.5.3
Rails 5.2.2
Editez simplement Gemfile et ajoutez gem 'sqlite3', platform: :Ruby
.
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 est ailleurs. Voici comment cela fonctionne sur Windows:
bundle update sqlite3
Vous obtenez probablement une autre erreur similaire après celle-ci concernant nokogiri, corrigez-le avec la commande:
bundle update nokogiri
Profitez de votre application Ruby!
MEILLEURE INSTALLATION OFFICIELLE
J'utilise Rails 5.2.1p57, Windows 10 Il suffit de lancer les lignes suivantes pour résoudre le problème.
gem uninstall sqlite3
et désinstallez toutes les versions installées. à nouveau exécuter la commande suivante
gem install sqlite3 --platform=Ruby
Vous avez maintenant terminé .. Faites-moi savoir si le problème persiste.
Désinstaller et réinstaller la pierre précieuse sqlite3 a fonctionné pour moi.
gem uninstall sqlite3
bundle
Cela a fonctionné pour moi:
gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-Ruby", branch: "add-gemspec"
Pour éviter cette erreur, assurez-vous que gem sqlite3
est ajouté à votre Gemfile . Ensuite, extrayez les "exe" et les "dll" de Lien de téléchargement Sqlite dans 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
Sélectionnez gem pour désinstaller:
1. sqlite3-1.3.13
2. sqlite3-1.3.13-x64-mingw32
3. Toutes les versions
>3
.
.
Si vous supprimez cette gemme, ces dépendances ne seront pas satisfaites.
Continuer avec Désinstaller? [yN]
>y
gem install sqlite3 --platform=Ruby
Rails s
Cela devrait marcher.
Lisez ceci link pour plus d’explications si ce qui précède fonctionne pour vous.
Si la réponse la plus fréquente ne fonctionne pas, un correctif que j'ai découvert consiste tout simplement à accéder à votre Gemfile et à ajouter le numéro de version 1.3.11 (au lieu de 1.3.9) juste après sqlite3. Donc, la ligne dans votre Gemfile devrait maintenant se lire:
# Use sqlite3 as the database for Active Record
gem 'sqlite3', '1.3.11'
J'ai eu la même erreur lorsque j'ai mis à jour ma version de Ruby vers la version 2.5.X. J'ai suivi avec Rails task --trace
que le sqlite3 n'est pas disponible pour la version 2.5, que j'ai changé mon GemFile, la gemme "sqlite3" est remplacée par "sqlite3-Ruby", après avoir désinstallé le gem "sqlite3" et enfin, j'ai exécuté le bundle install
.
Je ne sais pas quelle est la raison ... J'ai lu que "sqlite3" n'était pas encore disponible pour Ruby 2.5, mais je n'en suis pas sûr.
Cela m'est arrivé aussi. Il s’est avéré que j’avais initialement installé SQLite 1.3.10, mais j’ai ensuite copié certaines pierres précieuses du projet de didacticiels du tutoriel Rails, dans lequel SQLite 1.3.9 était répertorié. Ensuite, j'ai eu la même erreur que vous. Je l'ai changé à 1.3.10 et cela a fonctionné.
(Ceci est sous Windows 7. J'utilisais le tutoriel de screencast sur Cloud9 IDE).
C’est la seule solution qui a fonctionné pour moi, dérivée de cet article de GitHub :
./configure --disable-shared
.make install DESTDIR=/c/dev/Ruby/tmp
. Vous pouvez changer le répertoire.gem uninstall sqlite3 --all
pour supprimer tous les gems sqlite3 existants.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, vérifiez d’abord.J'utilise Ruby version 2.5.1 et Rails version 5.2.0 sous Windows 10.
Ces étapes ont fonctionné pour moi après avoir épuisé mon cerveau pendant des heures !:
Lorsque demandé pour l'option:
La console Rails et le serveur Rails ont alors commencé à fonctionner.
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:
Pour les utilisateurs OSX, cela peut résulter de l’utilisation d’un gestionnaire Ruby (par exemple, rvm).
Si vous éditez 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 générer à nouveau.
Le numéro actuel 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/
Changez votre gem sqlite3 dans le Gemfile pour ceci:
gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-Ruby", branch: "add-gemspec"
Puis lancez:
bundle install