J'essaye d'installer la gem SQLite sur une machine Linux Fedora 9 avec Ruby 1.8.6, Rails 2.2.2, gem 1.3 et sqlite-3.5.9. Voici la commande que je lance et ses résultats:
Sudo gem install sqlite3-Ruby
Building native extensions. This could take a while...
ERROR: Error installing sqlite3-Ruby:
ERROR: Failed to build gem native extension.
/usr/bin/Ruby extconf.rb install sqlite3-Ruby
can't find header files for Ruby.
Gem files will remain installed in /usr/lib/Ruby/gems/1.8/gems/sqlite3-Ruby-1.2.4 for inspection.
Results logged to /usr/lib/Ruby/gems/1.8/gems/sqlite3-Ruby-1.2.4/ext/sqlite3_api/gem_make.out
gem_make.out
répète simplement ce qui a déjà été envoyé à la console. Comment puis-je installer cette gemme?
Le SQLite RubyGem n'est pas réellement un Ruby Gem, c'est un "CGem", IOW c'est écrit en C. Cela signifie qu'il doit être compilé et lié à l'interpréteur Ruby lors de l'installation et pour faire que il a besoin des fichiers d’en-tête C pour l’interpréteur Ruby.
Si vous compilez Ruby vous-même, ces fichiers d’en-tête seront installés automatiquement. Toutefois, dans les systèmes RedHat-ish, ces fichiers d’en-tête sont généralement regroupés dans un package séparé, appelé <whatever>-dev
. Donc, dans ce cas, vous devrez également installer le paquetage Ruby-dev
et éventuellement le paquetage libsqlite3-dev
(Ubuntu) ou sqlite-devel
(Fedora).
Cependant, il serait peut-être préférable d'installer le paquet libsqlite3-Ruby
préemballé de votre système d'exploitation afin que toutes les dépendances soient automatiquement satisfaites.
(Remarque: tous les noms de paquets retirés du ciel, pourraient être différents sur votre système.)
Vous avez probablement besoin du paquet dev Ruby. Pour Ubuntu, vous devez installer Ruby1.8-dev, qui inclut les fichiers d’en-tête Ruby. Un rapide Google dit que le paquet yum est Ruby-devel. alors lancez ceci:
Sudo yum installer Ruby-devel
J'ai eu du mal à installer sqlite3-Ruby gem sur ma boîte Fedora 13. Elle a été corrigée après Sudo yum install sqlite-devel
Quand j'ai eu ce problème:
gem install sqlite3 -v '1.3.9'
Building native extensions. This could take a while...
ERROR: Error installing sqlite3:
ERROR: Failed to build gem native extension.
Pour moi, installer " libsqlite3-dev " avec:
apt-get install libsqlite3-dev
Sudo apt-get install Ruby-dev
Corrigé pour moi.
Sur Ubuntu 9 et 10, essayez:
Sudo apt-get install Ruby-dev
Sudo apt-get install sqlite3-dev
Puis courir
gem install sqlite3
Exécutez ce qui suit pour Fedora OS:
yum install rubygem-sqlite3
Avez-vous tout le code source requis pour compiler sqlite3-ruby? Gem essaie de compiler du code C et ne trouve pas les en-têtes. Vous pouvez probablement utiliser un rpm Fedora pour sqlite3-Ruby (je n'utilise pas Fedora, mais je suis sûr qu'il en existe un) si vous préférez ne pas compiler. Personnellement, pour les produits Ruby, je préfère utiliser un bijou plutôt que le système d’emballage d’une distro.
J'ai eu exactement le même problème ... au lieu de gemmer les pièces manquantes, j'ai utilisé synaptic sur unbuntu.
Le paquet de clé pour moi était libsqlite-Ruby1.9.1 ... J'ai documenté mon expérience (pour référence) avec cette erreur à l'adresse suivante: Sqlite3-gem-error-During-bundle-install
J'ai également rencontré le même problème, le problème est que votre installation de Linux nécessite l'installation des bibliothèques de développement pour SQLite3 afin de construire la gem.
voici comment j'ai résolu le problème
Ouvrez votre terminal et lancez les commandes suivantes
Sudo apt-get install sqlite3
Sudo apt-get install libsqlite3-dev
Et essayez à nouveau d'installer Sqlite3 gem à l'aide de cette commande
gem install sqlite3
C'est tout.
j'espère que cela aide
Sur Alpine, vous devez installer le package sqlite-dev
.
J'ai résolu le problème sur mon OLPC (Fedora 9) en installant curieusement "gcc". Il semble que cela aurait dû être un de ces packages de développement, mais non.
De plus, en ce qui concerne les autres paquets, le suffixe est "-devel", pas "-dev", assurez-vous donc que les fins suivantes sont exactes: "Ruby-devel", "sqlite-devel" ...
Une fois que vous l'avez installé, si vous rencontrez des erreurs d'ancienneté de vos gems "<1.3.1" lorsque vous essayez d'exécuter divers scripts Rails, par exemple: script/serveur ou script/console, recherchez "upgrade_rubygems" dans Google pour résoudre ce problème. ..
HTH ...
J'ai rencontré cette erreur lors de l'exécution de bundle install
après avoir généré une application react-Rails sur Fedora 29. J'ai été en mesure d'identifier un package de développement approprié en exécutant dnf search sqlite3
, puis je l'ai installé dnf install libsqlite3x-devel
. Cela a résolu le problème pour moi.
Je ne connais pas vraiment Fedora, mais sous Ubuntu, lorsque vous installez des paquets, vous avez apt-get, et vous devez installer les éléments essentiels de la compilation, notamment gcc et d'autres outils de compilation pour C. , et vous regardez comment l’installation peut être effectuée en utilisant RPM ou apt-get sur Fedora.
Exécutez "Sudo yum install sqlite-devel" puis "gem install sqlite3". Eu le même problème sur mon Fedora 15.