Je suis très nouveau dans le rubis et les rails. J'essaye d'installer sur sqlite3 pour essayer un didacticiel et avoir des problèmes. Je suis sous Windows 10 et j'utilise ruby 2.6.1p33 (30/01/2019 révision 66950) [x64-mingw32]
.
Voici l'erreur d'installation que j'obtiens lors de l'exécution de gem installez sqlite3-ruby
. J'ai également essayé d'exécuter gem install sqlite3 --platform = ruby - --with-sqlite3-include = c: / sqlite3 / include --with-sqlite3-lib = c: / sqlite3 / lib
sqldiff.exe sqlite3.exe sqlite3_analyzer.exe include\shell.c include\sqlite3.c include\sqlite3.h include\sqlite3ext.h lib\sqlite3.def lib\sqlite3.dll
J'ai téléchargé sqlite3 depuis leur site et voici la structure des dossiers de C:\sqlite3\
C:/Ruby26-x64/bin/ruby.exe -I C:/Ruby26-x64/lib/ruby/2.6.0 -r ./siteconf20190217-3116-1d59gcv.rb extconf.rb checking for sqlite3.h... yes checking for pthread_create() in -lpthread... yes checking for -ldl... no checking for dlopen()... no missing function dlopen *** 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. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=C:/Ruby26-x64/bin/$(RUBY_BASE_NAME) --with-sqlcipher --without-sqlcipher --with-sqlite3-config --without-sqlite3-config --with-pkg-config --without-pkg-config --with-sqlcipher --without-sqlcipher --with-sqlite3-dir --without-sqlite3-dir --with-sqlite3-include --without-sqlite3-include=${sqlite3-dir}/include --with-sqlite3-lib --without-sqlite3-lib=${sqlite3-dir}/lib --with-pthreadlib --without-pthreadlib --with-dllib --without-dllib To see why this extension failed to compile, please check the mkmf.log which can be found here: C:/Ruby26-x64/lib/ruby/gems/2.6.0/extensions/x64-mingw32/2.6.0/sqlite3-1.4.0/mkmf.log extconf failed, exit code 1
3 Réponses :
ajout de gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-ruby", branche: "add-gemspec"
dans le fichier Gemfile du projet fonctionne. Après cela, exécutez bundle install
. Assurez-vous d'installer git sur la machine. Il s'agit du lien github
Pour résoudre ce problème pour tous les projets, j'ai téléchargé le fichier gem depuis https://rubygems.org/ et l'a sauvegardé localement, installé MinGW par cmd
C:\Sites>gem install --local C:\sqlite3-1.4.0.gem
et le gem SQLite 3 après
C:\Sites>ridk exec pacman -S mingw-w64-x86_64-dlfcn
et cela a fonctionné pour tous les projets suivants créés sur le dossier Sites si vous avez besoin de réparer un projet déjà créé en essayant d'exécuter à nouveau bundle install
après ces lignes.
J'ai également essayé d'inclure les fichiers SQLite 3 dans le chemin, mais cela n'a pas été le cas. t travailler pour moi non plus
C'est ce qui a fonctionné pour moi actuellement et c'est un correctif par projet; Réponse de Samiul Alam Anik, mais avec un ajout. Après avoir suivi ces étapes, vous pourriez obtenir un nécessite Bundler 2
et cela est résolu pour moi avec gem update --system
grâce à ceci Ticket GitHub .
Avez-vous besoin de la version la plus actuelle? J'ai également eu des problèmes avec sqlite3 1.4.0, mais la version 1.3.13 a bien fonctionné pour moi.
gem installer sqlite3 -v 1.3.13
J'ai pu résoudre ce problème en suivant ces étapes dans ce lien: github.com/sparklemotion/ sqlite3-ruby / issues / 241
Moment parfait pour cette question. J'apprends Ruby on Rails et je viens de recevoir cette erreur sur mon premier projet.
quelqu'un a mis ce lien dans un commentaire. Je ne sais pas pourquoi ce commentaire a été supprimé.