J'ai l'erreur suivante lors de l'installation de sqlite3-Ruby:
Construire des extensions natives. Cela pourrait prendre un certain temps ... ERREUR: erreur lors de l’installation de sqlite3-Ruby: ERREUR: Echec de la création de l'extension native de gem . /Usr/bin/Ruby1.8 extconf.rb En recherchant sqlite3.h ... no Sqlite3.h est manquant. Essayez 'port install sqlite3 + universal' ou 'yum install sqlite3-devel' *** extconf.rb a échoué *** Impossible de créer le fichier Makefile pour une raison quelconque, probablement le manque de bibliothèques nécessaires /ou en-têtes. Consultez le fichier mkmf.log pour plus de détails Vous aurez peut-être besoin d'options de configuration . Options de configuration fournies: --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 =/usr/bin/Ruby1.8 --with-sqlite3-dir --without-sqlite3-dir --with-sqlite3-include --without-sqlite3-include = $ {sqlite3-dir}/include --with-sqlite3-lib --without-sqlite3-lib = $ {sqlite3-dir}/lib Les fichiers Gem restent installés dans /usr/lib/Ruby/gems/1.8/gems/sqlite3-Ruby-1.3. 1 pour inspection . Résultats consignés dans /usr/lib/Ruby/gems/1.8/gems/sqlite3-Ruby-1.3.1/ext/sqlite3/gem_make.out
sqlite3.h est situé dans/usr/include /
Sudo gem installe sqlite3-Ruby --without-sqlite3-include =/usr/include
ne fonctionne pas
ERREUR: lors de l’exécution de gem ... (OptionParser :: InvalidOption) option non valide: --without-sqlite3-include =/usr/include
Ubuntu 10.04
Vous avez besoin des en-têtes de développement SQLite3 pour que l’extension native de gem soit compilée. Vous pouvez les installer en exécutant (éventuellement avec Sudo
):
apt-get install libsqlite3-dev
Vous avez juste besoin d'un --
dedans.
Sudo gem install sqlite3-Ruby -- --with-sqlite3-include=/usr/include
Cela spécifie que l'option n'est pas de gem directement, mais le gem spécifique.
Dans mon cas, je n’ai pas de compilateurs de base installés, donc
Sudo apt-get install build-essential
résolu mon problème, mais pour la plupart des gens je pense https://stackoverflow.com/a/3649005/417267 est la solution.
Si vous utilisez Ubuntu et que vous utilisez RVM pour Ruby on Rails, veuillez ajouter FIRST:
Sudo apt-get install libxslt-dev libxml2-dev
OU Vous pouvez vérifier avec ces commandes:
Cette commande préparera pour vous deux paquets: sqllite3 et libsqlite3-dev
Sudo apt-get install sqlite3 libsqlite3-dev
-Maintenant, installez la pierre précieuse sqlite
[Sudo] gem install sqlite3-Ruby
L'utilisation d'Ubuntu n'a pas besoin de Sudo.
Bonne chance! Note: J'utilise Ubuntu 10.10 et ça marche.
C'est ce que j'ai fait:
wget http://www.sqlite.org/sqlite-amalgamation-3.7.2.tar.gz
tar xzf sqlite-amalgamation-3.7.2.tar.gz
cd sqlite-3.7.2/
./configure
make
make install
gem install Rails sqlite3-Ruby
de: http://cuasan.wordpress.com/2010/10/13/Rails-3-on-debian-with-sqlite-3/
C'était simplement suffisant pour que ça marche
Sudo apt-get install libsqlite3-dev
Merci à marshluca
EssayéTOUSd'autres solutions, aucune n'a aidé.
Il s'est avéré que vous avez également besoin du paquet dev pour Ruby lui-même. Pour moi, ça a aidé
Sudo apt-get install Ruby-full
Il a cependant beaucoup de dépendances désagréables (comme emacs, wtf?), Juste
Sudo apt-get install Ruby1.8-dev
ça devrait aller. Une fois installé (et vous avez les paquetages sqlite et sqlite-dev installés)
Sudo gem install sqlite3-Ruby
fonctionne comme un charme.
Voici une meilleure réponse de HEROKU - ne peut pas exécuter git Push heroku master
Puisque vous ne pouvez pas utiliser sqlite3 sur heroku, ajoutez ceci à votre Gemfile:
group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end
Si ce même problème et les suivants ont fonctionné pour moi:
compilez sqlite3 en tant que bibliothèque statique, installez-le quelque part dans votre répertoire personnel et fournissez cette option pour le processus d'installation de Gem.
Allez sur la page de téléchargement et récupérez le source. La version la plus récente est http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz
tar -xf sur le fichier ou faites ce que vous faites normalement pour décompresser; entrer dans le répertoire
./configure --disable-shared --enable-static --prefix =/some/path/in/my/home
compiler, installer et quand vous installez la gemme ...
gem installer sqlite3-Ruby - --with-sqlite3-dir =/un/chemin/dans/mon/home
La solution consiste à ajouter --
pour séparer les paramètres configure
des paramètres gem
.
au lieu de
Sudo gem install sqlite3-Ruby --without-sqlite3-include=/usr/include
essayez ceci, sur une seule ligne, assurez-vous d'inclure --
après le dernier paramètre gem
et avant les paramètres configure
:
Sudo gem install sqlite3 --
--with-sqlite3-lib=/somewhere/local/lib
--with-sqlite3-include=/somewhere/local/include
Cela devrait vous éviter cette erreur:
ERROR: While executing gem ... (OptionParser::InvalidOption)
invalid option: --without-sqlite3-include=/usr/include
De sqlite3-Ruby gem ne trouve pas sqlite3.h sur ubuntu :
Vous devez également installer gcc lui-même, donc ce serait au total:
Sudo apt-get install gcc libsqlite3-dev Ruby1.8-dev
Sudo gem install sqlite3
Apparemment, vous obtenez une erreur erronée indiquant une sqlite3.h manquante lorsque le problème actuel manque à gcc lui-même.
Pour moi, le problème a été résolu en obtenant mkmf, qui est en Ruby1.8-dev.
Sudo apt-get install Ruby1.8-dev
Merci à mentalized pour celui-là.
Aucune des solutions mentionnées ci-dessus n'a fonctionné pour moi, même après avoir installé Ruby2.5-dev
et libsqlite3-dev
. Puis essayé d'utiliser PostgreSql
au lieu de sqlite
. Cela a bien fonctionné. Pour utiliser PostgreSql
au lieu de sqlite, utilisez cette commande lors de la création du projet Rails
.
Rails [_VERSION_] new project_name -d postgresql
Si vous souhaitez utiliser MySql
, utilisez mysql
au lieu de postgresql
.
Rails [_VERSION_] new project_name -d mysql
Sinon, vous pouvez essayer sans sqlite
.
bundle install --without sqlite
Pas --without-sqlite3-include=/usr/include
, mais --with-sqlite3-include=/usr/include
.
Je suis d'accord avec Danya Vershinin & EnotionZ .
Si vous ne pouvez pas utiliser apt-get:
Oubliez tout et faites ceci,
courir
yum install Ruby-devel sqlite sqlite-devel Ruby-rdoc
yum install make gcc
gem install sqlite3-Ruby
bundle install
C'est pour rhel, courez même pour Ubuntu.
Vous avez cassé la version de RVM. Ubuntu fait quelque chose à RVM qui produit beaucoup d’erreurs, le seul moyen sûr de le réparer pour l’instant est de: Sudo apt-get --purge supprimer Ruby-rvm Sudo puis redémarrez votre ordinateur. installez RVM:\curl -L https://get.rvm.io | bash -s stable --Ruby --autolibs = enable --auto-dotfiles Si vous pensez que vous avez besoin d'aide, consultez Installation de Ruby sur Ubuntu 12.04, qui donne un peu plus d'explications.
C'est exactement le même problème que j'ai eu il y a quelques semaines. J'ai découvert qu'il me fallait télécharger les en-têtes/bibliothèques les plus récents à partir de la page de téléchargement de SQLite. Essayez-le, espérons que cela aide!