3
votes

Problème d'installation de Ruby sqlite3 gem sur Windows 10

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


4 commentaires

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é.


3 Réponses :


3
votes

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


0 commentaires

1
votes

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


0 commentaires

1
votes

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 .


0 commentaires