Gem :: Ext :: BuildError: ОШИБКА: не удалось создать собственное расширение для gem.для SQlite3 - PullRequest
0 голосов
/ 20 февраля 2019

Когда я пытаюсь создать новое приложение rails, я получаю сообщение об ошибке ниже в rails на windows?Сбой при установке 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.

У меня установлен sqlite3 на моей машине, и я использую windows 10. Я попытался не запустить команду gem install sqlite3, как мне подсказывает, но она все равноне получается что я делаю не так?

Ответы [ 3 ]

0 голосов
/ 20 февраля 2019

Попробуйте удалить все версии гема sqlite3 из системы и переустановить только версию 1.4.0

0 голосов
/ 22 февраля 2019

Привет, я получил то же сообщение, когда пытался установить SQLite gem без уже установленного MinGW gem

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

Установите его и попробуйте снова. Если вы не установили RailsInstaller только Ruby DevKit, он должен работать.Если нет, попробуйте сначала удалить его, удалив оставшиеся папки и установив рельсы с помощью команды gem install rails

0 голосов
/ 20 февраля 2019

Возможно, вы используете разные версии рельсов.

Решением является изменение версии sqlite на 1.3.6:

gem 'sqlite3', '~> 1.3.6'

После этого запуска команды изменения:

bundle update
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...