2010-07-05 4 views
2

L'erreur suivante apparaît:problème dans l'installation SQLite3

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 

J'ai copié tous les fichiers nécessaires dans le dossier Ruby/Bin, encore il garde signalez cette erreur que sqlite3.h manque. Veuillez indiquer où dois-je placer sqlite3.h, lorsque j'installe la gemme localement comme vous pouvez le voir et que j'utilise actuellement la version 1.3.0 de SQLite3 pour son installation. J'ai essayé avec les solutions qui ont été postées pour des problèmes similaires. Et j'utilise Windows XP.

Merci d'avance.

+0

Question stupide, et vous avez peut-être répondu sans que je m'en aperçoive - mais avez-vous réellement installé l'exécutable sqlite3, comme le suggère la gem? – Chowlett

+0

J'ai effectivement copié l'exécutable sqlite3.exe, le fichier .dll avec d'autres fichiers nécessaires dans le dossier Ruby/Bin qui était tout ce que j'ai fait, je n'ai pas passé par n'importe quel processus d'installation en tant que tel .. –

Répondre

3

J'ai rencontré ce problème. C'est la solution que j'ai trouvée. Ce n'est pas très joli, mais ça a marché pour moi. Dans mon cas, j'utilisais cygwin. Il y a probablement une façon similaire de le faire sans utiliser cygwin, mais je ne sais pas comment.

1) Télécharger la source de SQLite. Je suis allé pour SQLite 3.6.23, quelque peu arbitrairement, via cette URL: http://www.sqlite.org/src/info/4ae453ea7b Si cela ne fonctionne pas, alors allez sur le calendrier de publication à http://www.sqlite.org/src/timeline?n=200&t=release&y=ci, choisissez une version, et téléchargez le fichier ZIP de celui-ci.

2) Déballez l'archive ZIP quelque part. Allez dans ce répertoire dans cygwin. Exécuter ces commandes:

./configure
font
faire sqlite3.dll
make install

3) Copiez le sqlite3.exe et sqlite3.dll à partir du répertoire où les make créé dans quelque part sur votre chemin.

4) Une fois cela fait, gem install sqlite3-ruby a finalement fonctionné.

Je suivais ce guide: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/240902

+0

mais je me suis déjà déplacé vers Ubuntu et je n'ai rencontré aucun problème, mais cela sera utile pour d'autres. –

0

Je l'ai travail en suivant ces suggestions: http://www.skorks.com/2009/08/installing-and-using-sqlite-with-ruby-on-windows/

Fondamentalement, vous pouvez télécharger à partir sqlite.org, la DLL et le fichier shell et assurez-vous de copier la DLL dans chacune des versions de ruby ​​que vous avez installées, dans leur répertoire /bin. Vous pouvez placer le fichier shell quelque part dans votre chemin système, j'ai un dossier c:\bin. Ensuite, vous pouvez installer pik gem install sqlite3

2

Je sais que cela a été fermé pendant un certain temps, mais j'avais le même problème et ce aidé. Installez apt-cyg. Commencez par installer subversion et wget via le programme d'installation standard cygwin . Ensuite, exécutez les commandes suivantes:

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

Maintenant, en utilisant apt-Cyg installer le développement sqlite3:

apt-cyg install libsqlite3-devel 

et enfin

$ 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... 
-1

remplacer par sqlite3 (1.3.10-x64-mingw32) dans Gemfile.lock a travaillé pour moi.