0
votes

Gem :: Ext :: BuildError: ERROR: Échec de la construction de l'extension native de gem. pour SQlite3

Je reçois toujours l'erreur ci-dessous dans les rails sur Windows lorsque j'essaie de créer une nouvelle application de rails? Il échoue quand il arrive à installer sqlite3.

current directory:
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.0/ext/sqlite3
C:/Ruby25-x64/bin/ruby.exe -r ./siteconf20190220-14164-174xy0j.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:/Ruby25-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:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/sqlite3-1.4.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.0 for inspection.
Results logged to
C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/sqlite3-1.4.0/gem_make.out

An error occurred while installing sqlite3 (1.4.0), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.4.0' --source 'https://rubygems.org/'`
succeeds before bundling.

J'ai sqlite3 installé sur ma machine et j'utilise Windows 10. J'ai essayé d'exécuter la commande gem install sqlite3 comme elle me le demande mais ça échoue toujours, que fais-je mal?


0 commentaires

3 Réponses :


1
votes

Vous utilisez probablement différentes versions de rails.

La solution est de changer la version de sqlite en 1.3.6:

bundle update

Après cette modification, exécutez la commande:

gem 'sqlite3', '~> 1.3.6'

p >


0 commentaires

0
votes

Essayez de désinstaller toutes les versions du gem sqlite3 du système et de ne réinstaller que la version 1.4.0


0 commentaires

0
votes

Bonjour, j'ai reçu le même message lorsque j'ai essayé d'installer la gemme SQLite sans la gemme MinGW déjà installée

C:\Sites>ridk exec pacman -S mingw-w64-x86_64-dlfcn

Installez-la et réessayez Si vous n'avez PAS installé RailsInstaller uniquement Ruby DevKit, cela devrait fonctionner. Sinon, essayez de le désinstaller d'abord, supprimez les dossiers restants et installez les rails par la commande gem install rails


1 commentaires

Ma version Ruby est Ruby26-x64 dessus, les exécutables MinGW et msys2 sont déjà inclus dans C: \ Ruby26-x64 \ msys64 mais si la version 25 ne l'inclut pas, téléchargez-le avec le gestionnaire d'installation MinGW à partir de mingw.org/wiki/Install_MinGW