gem install: impossible de construire gem extension native (ne peut pas trouver les fichiers d'en-tête)
J'utilise Fedora 14 et j'ai MySQL et MySQL server 5.1.42 installé et en cours d'exécution.
Maintenant, j'ai essayé de le faire en tant qu'utilisateur root:
gem install mysql
Mais j'obtiens cette erreur:
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
Quel est le problème ici? Installé ruby 1.8.7. et la dernière rubygems 1.3.7.
- Juste un rapide deviner: vous avez le dev fileheaders pour MySQL
- Comment puis-je obtenir ces dev fileheaders?
- Je l'ai fait dans Ubuntu procédant de la manière suivante: apt-get install ruby-dev rubygems gem install mysql -- with-mysql-config=/usr/bin/mysql_config Tous fonctionne bien.
Vous devez vous connecter pour publier un commentaire.
Pour ceux qui peuvent être confondus par le a accepté de répondre, comme je l'ai été, vous aurez également besoin d'avoir le rubis en-têtes installé [ruby-devel].
L'article qui a sauvé ma peau est ici.
Et c'est la solution révisée (note que je suis sur Fedora 13):
Pour Debian, et d'autres distributions utilisant Debian style de l'emballage le développement ruby en-têtes sont installés par:
Pour Ubuntu le développement ruby en-têtes sont installés par:
Si vous utilisez une version antérieure de ruby (tels que 2.2), alors vous devrez exécuter:
(où 2.2 est souhaitée de votre version de Ruby)
yum -y install gcc ruby-devel rubygems
.apt-get install ruby2.4-dev
a fonctionné pour moi! (Et mon erreur a été à la recherche de rubis.h en/usr/lib/ruby/include/ruby.h
juste pour le contexte et pertinence)Red Hat, Fedora:
Debian, Ubuntu:
Arch Linux:
ruby-devel
.Pour tous ceux qui lisent ceci en 2015: si vous arrivé à installer le paquet
ruby2.0
, vous devez installer le correspondantruby2.0-dev
à obtenir des Rubis en-têtes. Il en va de même pourruby2.1
etruby2.2
, etc. Par exemple:sudo dnf install ruby-devel
il semble que la
était assez pour moi d'effectuer
par la suite.
Il est possible que vous aurez besoin d'installer un autre paquets:
pour être en mesure de construire des extensions natives
J'ai trouvé la solution ici.
Ce post m'a aidé. Merci beaucoup.
Sur Linux (Ubuntu 12.10) j'nécessaires à l'exécution de
avant que je puisse réussir à exécuter
Les utilisateurs de MAC peuvent faire face à ce problème lors de xcode tools ne sont pas installés correctement.
Ci-dessous, la commande pour se débarrasser de la question.
Si vous avez gem installé et de rubis et de ne pas pouvoir installer des rails. Puis installer ruby dev lib.
Cela fonctionne pour moi. J'ai essayé la solution différente.
Red Hat, Fedora:
Ma solution initiale était de résoudre les erreurs ci-dessus par l'installation de
ruby-devel
,patch
etrubygems
.Ma question était un peu différentes comme bcrypt 3.1.11 toujours eu des problèmes de compilation et de l'installation sur Fedora 23. J'avais besoin de paquets supplémentaires. Donc, après s'être assuré que j'avais le dessus est installé, j'ai été encore des questions:
gcc: error: conftest.c: No such file or directory
gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory
De là, j'ai eu à faire ce qui suit:
Je me suis assuré que je n'étais pas dépourvu de tout compilateur C outils
sudo dnf group install "C Development Tools and Libraries"
Ensuite, j'ai couru
sudo dnf install redhat-rpm-config
pour résoudre la gcc question énumérés ci-dessus.Vous pouvez trouver un écrire ici sur Fedore Projet. Vous pouvez également trouver des réponses à d'autres besoins.
Cette commande résolu le problème pour moi!
Pour ceux qui sont encore en proie à des difficultés, comme je l'ai(je l'utilise Ubuntu 16.04), j'ai dû mettre dans les commandes suivantes dans l'ordre pour obtenir des gemmes comme bcrypt, pg, et d'autres installés. Ils sont tous semblables à celles ci-dessus, sauf pour un.
Cela m'a permis d'installer des gems comme, PG, bcrypt, et recaptcha.
dans openSUSE:
Fonctionne pour moi 🙂
Il est nécessaire d'installer redhat-rpm-config pour. Je suppose que c'résoudre votre problème!
Cela a fonctionné pour moi:
Vous avez besoin des paquets suivants instalé:
ruby-dev
gcc
libffi-dev
faire
Voici la commande pour debian, distro:
Juste pour ajouter un chemin d'accès à ruby.h fichier dans mon CHEMIN
par exemple: