Problème d'installation de sqlite3-ruby!
Je vais avoir des problèmes pour installer le sqlite3-ruby gem sur crunchbang linux. Après googler le passé quelques heures, et à la suite de plusieurs personnes avec le même problème, je n'ai toujours pas eu à le faire fonctionner.
Ici a ce que je vois après avoir essayé un "sudo gem install sqlite3-ruby'
La construction d'extensions natives. Cela pourrait prendre un certain temps...
ERREUR: Erreur lors de l'installation sqlite3-ruby:
ERREUR: Échec de création d'gem extension native.
/usr/bin/ruby1.8 extconf.rb
la vérification de sqlite3.h... oui
la vérification de sqlite3_libversion_number() en lsqlite3... oui
la vérification de rb_proc_arity()... non
la vérification de sqlite3_initialize()... non
sqlite3-ruby prend uniquement en charge les sqlite3 versions 3.6.16+, veuillez mettre à jour!
* extconf.rb a échoué *
N'a pas pu créer le Makefile pour une raison quelconque, manque probablement d'
bibliothèques nécessaires et/ou les en-têtes. De vérifier la mkmf.le fichier journal pour plus
des détails. Vous pouvez avoir besoin d'options de configuration.
Ensuite, j'ai couru à travers cette page;
http://groups.google.com/group/sqlite3-ruby/browse_thread/thread/f22d098b561c48af/6e754f7b2fc3cd75?#6e754f7b2fc3cd75
J'ai téléchargé sqlite-amalgamation-3.7.0.1.tar.gz et a émis les commandes suivantes:
tar zxvf sqlite-amalgamation-3.7.0.1.tar.gz
cd cd sqlite-3.7.0.1
mkdir $HOME/sqlite
./configure --prefix=$HOME/sqlite
faire && make install
sudo gem install sqlite3-ruby -- --with-sqlite3-dir=$HOME/sqlite
Cependant, j'ai toujours l'erreur exactement la même. J'ai utilisé "sudo apt-get install sqlite3 libsqlite3-dev', mais j'ai toujours l'erreur exactement la même.
Des conseils?
Et un petit côté, comment se fait quand j'ai utiliser "sudo apt-get install sqlite3', il s'empare de 3.5.9 au lieu de la 3.7.0.1 j'ai téléchargé manuellement?
Vous devez vous connecter pour publier un commentaire.
Installer une version inférieure de sqlite3-ruby devrait résoudre votre problème:
Cela est dû à extconf.rb ramasser votre ancien 3.5.9 de la bibliothèque lors de l'essai pour les fonctions avant de les mettre ensemble le Makefile.
Une solution pour couper court est de apt-get remove sqlite3 et réessayer
Cela peut vous sauver de incompatibilités si vous souhaitez utiliser sqlite3 ligne de commande binaire.
Une autre solution est de copier votre nouveau ~/sqlite/lib/libsqlite3.un dans le répertoire de construction de votre gem (voir gem env, quelque chose comme des pierres précieuses/sqlite3-ruby-1.3.1/ext/sqlite3) et réessayer
Le test doit ramasser votre nouvelle bibliothèque et de l'installer maintenant très bien.
Par le sqlite3-ruby (maintenant nommé sqlite3) README.rdoc, vous pouvez utiliser la méthode suivante pour direct à la bonne bibliothèques:
Shawn, je vais essayer de m'expliquer.
Ruby est l'adaptation à la sqlite3 bibliothèque par la compilation de petits exemples et de vérifier si la compilation a été une réussite. Ce ramasse l'ancienne bibliothèque, qui ne comprend pas les fonctions requises.
La première solution est de supprimer l'ancienne bibliothèque et de diriger le rubis le répertoire que vous avez téléchargé la nouvelle version de. Selon le système que vous utilisez, vous devez choisir le bon gestionnaire de paquets: apt-get et dpkg, yum, yast, ipkg, ... pour supprimer le paquet mal. Cela permet de s'assurer que votre build n'est pas de ramasser toutes les pièces anciennes. Ensuite, vous devez vous assurer que vous pointez ruby pour le bon répertoire, où la nouvelle bibliothèque est située avec --with-sqlite3-option dir.
La deuxième solution est une sorte de hack. Il s'appuie sur le compilateur C de ramasser les fichiers dans le répertoire courant avant les autres. Vous pouvez utiliser le cp, mc, ou tout autre gestionnaire de fichiers pour copier le .une des bibliothèques et des .h-têtes pour le répertoire de construction. La construction devrait être ok, mais votre commande sqlite3 sera toujours l'ancien, éventuellement incompatible avec les bases de données créées avec votre nouvelle bibliothèque.
HTH, Jarek
J'ai eu un problème similaire, - j'ai simplement commenté de la manière suivante ennuyeux ligne à partir de ./Gemfile dans le répertoire du projet à:
et n':
script/rails de serveur fonctionnait très bien de nouveau. Ouf!
Semble que sqlite3 est dupliqué - bizarre
J'ai rencontré le même problème sur mac OSX 10.5.8
La solution était assez simple:
1.- Xcode téléchargé à partir de dev apple.: xcode314_2809_developerdvd.dmg (besoin d'inscription)
2.- Télécharger et installer macports: http://distfiles.macports.org/MacPorts/MacPorts-1.9.2-10.5-Leopard.dmg
3.- sudo port install sqlite3
Et Tout fonctionnait comme prévu.
Espère que ce résultat utile!
J'ai eu exactement le même problème. Jarek la solution a fonctionné quand j'ai déplacé tous les fichiers (et pas seulement
libsqlite3.a
) à partir de~/sqlite/lib
àgems/sqlite3-ruby-1.3.1/ext/sqlite3
.