Проблема в установке SQLite3 - PullRequest
2 голосов
/ 05 июля 2010

Появляется следующая ошибка:

C:\gem>gem install sqlite3-ruby --local
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
        ERROR: Failed to build gem native extension.

C:/Ruby/bin/ruby.exe extconf.rb
checking for #include <sqlite3.h>
... no
sqlite3.h is missing. Install SQLite3 from http://www.sqlite.org/ first.
*** 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
        --srcdir=.
        --curdir
        --ruby=C:/Ruby/bin/ruby
        --with-sqlite3-dir
        --without-sqlite3-dir
        --with-sqlite3-include
        --without-sqlite3-include=${sqlite3-dir}/include
        --with-sqlite3-lib
        --without-sqlite3-lib=${sqlite3-dir}/lib


Gem files will remain installed in C:/Ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1
.3.0 for inspection.
Results logged to C:/Ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.0/ext/sqlite3/
gem_make.out

Я скопировал все необходимые файлы в папку Ruby / Bin, но он продолжает сообщать об этой ошибке, что sqlite3.h отсутствует.

Пожалуйста, скажите, где я должен разместить sqlite3.h, когда я устанавливаю гем локально, как вы можете видеть, и в настоящее время я использую версию 1.3.0 SQLite3 для его установки. Я попытался с решениями, которые были размещены для аналогичных проблем. И я использую Windows XP.

Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 24 сентября 2010

У меня была эта проблема. Это решение, которое я нашел. Это не очень красиво, но это сработало для меня. В моем случае я использовал Cygwin. Вероятно, есть аналогичный способ сделать это без использования cygwin, но я не знаю как.

1) Загрузите источник SQLite. Я пошел на SQLite 3.6.23, несколько произвольно, через этот URL: http://www.sqlite.org/src/info/4ae453ea7b Если это не сработает, перейдите на временную шкалу выпуска http://www.sqlite.org/src/timeline?n=200&t=release&y=ci, выберите выпуск и загрузите его ZIP-файл.

2) Распакуйте архив ZIP куда-нибудь. Перейдите в этот каталог в Cygwin. Выполните эти команды:

. / Configure
сделать
сделать sqlite3.dll
сделать установку

3) Скопируйте sqlite3.exe и sqlite3.dll из каталога, в котором make создал их, куда-нибудь по вашему пути.

4) Как только это будет сделано, gem install sqlite3-ruby наконец заработает.

Я следовал этому руководству: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/240902

2 голосов
/ 22 ноября 2012

Я знаю, что это было закрыто некоторое время, но у меня была та же проблема, и это помогло.Установите apt-cyg.Сначала установите Subversion и Wget через стандартную программу установки Cygwin.Затем выполните следующие команды:

wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /bin

Теперь с помощью apt-cyg установите разработку sqlite3:

apt-cyg install libsqlite3-devel

и наконец

$ gem install sqlite3-ruby
Building native extensions.  This could take a while...
Fetching: sqlite3-ruby-1.3.3.gem (100%)

#######################################################

Hello! The sqlite3-ruby gem has changed it's name to just sqlite3.  Rather than
installing `sqlite3-ruby`, you should install `sqlite3`.  Please update your
dependencies accordingly.

Thanks from the Ruby sqlite3 team!

<3 <3 <3 <3

#######################################################

Successfully installed sqlite3-1.3.6
Successfully installed sqlite3-ruby-1.3.3
2 gems installed
Installing ri documentation for sqlite3-1.3.6...
Installing ri documentation for sqlite3-ruby-1.3.3...
Installing RDoc documentation for sqlite3-1.3.6...
Installing RDoc documentation for sqlite3-ruby-1.3.3...
0 голосов
/ 18 сентября 2015

заменить на sqlite3 (1.3.10-x64-mingw32) в Gemfile.lock у меня сработало.

0 голосов
/ 13 февраля 2012

Я заработал, выполнив следующие рекомендации: http://www.skorks.com/2009/08/installing-and-using-sqlite-with-ruby-on-windows/

В основном вы можете скачать с sqlite.org файл DLL и оболочки и убедиться, что вы копируете DLL в каждую из имеющихся у вас версий ruby.установлен, в их /bin каталоге.Вы можете разместить файл оболочки где-нибудь в вашем системном пути, у меня есть папка c:\bin.Тогда вы можете установить pik gem install sqlite3

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