Проблема установки гема Ruby sqlite3 в Windows 10 - PullRequest
0 голосов
/ 18 февраля 2019

Я очень новичок в рубине и рельсах.Я пытаюсь установить на sqlite3 для пробного обучения и возникли проблемы.Я на Windows 10 и использую ruby 2.6.1p33 (2019-01-30 revision 66950) [x64-mingw32].

Вот ошибка установки, которую я получаю при работе gem install sqlite3-ruby.Я также попытался запустить gem install sqlite3 --platform=ruby -- --with-sqlite3-include=c:/sqlite3/include --with-sqlite3-lib=c:/sqlite3/lib

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

Я скачал sqlite3 с их сайта и вот структура папок C:\sqlite3\

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

Я также скопировал sqldiff.exe, sqlite3.exe and sqlite3_analyzer.exeдо C:\Ruby26-x64\bin.В своей переменной окружения я добавил C:\sqlite3\ к PATH, а также создал новую переменную среды sqlite3-dir, указывающую на C:\sqlite3\

Не могли бы кто-нибудь помочь с этой проблемой установки?

Ответы [ 3 ]

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

Для решения этой проблемы для всех проектов я скачал файл gem из https://rubygems.org/ и сохранил его локально, установил MinGW с помощью cmd

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

и гем SQLite 3 после

C:\Sites>gem install --local C:\sqlite3-1.4.0.gem

и это работало для всех следующих проектов, созданных в папке «Сайты», если вам нужно исправить уже созданный проект, пытаясь снова запустить bundle install после этих строк.

Я также попытался включить SQLite 3файлы к пути, но у меня это тоже не сработало

0 голосов
/ 14 марта 2019

Это то, что в настоящее время работает для меня, и это исправление для каждого проекта;Самиул Алам, ответ Аника, но с дополнением.После того, как вы выполните эти шаги, вы можете получить requires Bundler 2, и это решается для меня с помощью gem update --system благодаря этому билету GitHub .

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

добавление gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-ruby", branch: "add-gemspec" в файл проекта Gemfile работает.После этого запустите bundle install.Обязательно установите git в машину.Это ссылка github

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