J'utilise Fedora 14 et j'ai MySQL et le serveur 5.1.42 installé et en cours d'exécution.
gem install mysql
Mais je reçois 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? Dans installé Ruby 1.8.7. et les derniers rubygems 1.3.7.
Pour ceux qui peuvent être déroutés par la réponse acceptée, comme je l'étais, vous devez également installer les en-têtes Ruby [Ruby-devel].
L'article qui a sauvé ma peau est ici .
Et voici la solution révisée (notez que je suis sur Fedora 13):
yum -y install gcc mysql-devel Ruby-devel rubygems
gem install -y mysql -- --with-mysql-config=/usr/bin/mysql_config
Pour Debian et les autres distributions utilisant un packaging de style Debian, les en-têtes de développement Ruby sont installés par:
Sudo apt-get install Ruby-dev
Pour Ubuntu, les en-têtes de développement Ruby sont installés par:
Sudo apt-get install Ruby-all-dev
Si vous utilisez une version antérieure de Ruby (telle que la version 2.2), vous devrez exécuter:
Sudo apt-get install Ruby2.2-dev
(où 2.2 est votre version de Ruby souhaitée)
Chapeau rouge, Fedora:
yum -y install gcc mysql-devel Ruby-devel rubygems
gem install -y mysql -- --with-mysql-config=/usr/bin/mysql_config
Debian, Ubuntu:
apt-get install libmysqlclient-dev Ruby-dev
gem install mysql
Arch Linux:
pacman -S libmariadbclient
gem install mysql
Pour ceux qui liront ceci en 2015: s'il vous est arrivé d'installer le paquet Ruby2.0
, vous devez installer le Ruby2.0-dev
correspondant pour obtenir les en-têtes Ruby appropriés. Il en va de même pour Ruby2.1
et Ruby2.2
, etc. Par exemple:
$ Sudo apt-get install Ruby2.2-dev
il semble que le
yum install Ruby-devel
était suffisant pour moi d'effectuer
gem install datamapper
ensuite.
Il est possible que vous deviez installer un autre paquet:
yum install gcc gcc-c++
être capable de construire des extensions natives
Ce post m'a aidé. Merci beaucoup.
Sous Linux (Ubuntu 12.10) je devais exécuter
Sudo apt-get install Ruby
Sudo apt-get install rubygems
Sudo apt-get install Ruby-dev
avant que je puisse courir avec succès
Sudo gem install jekyll
J'ai trouvé la solution ici .
# yum install mysql-devel gcc make
# gem install mysql -- --with-mysql-config=/usr/bin/mysql_config
Les utilisateurs de MAC peuvent être confrontés à ce problème lorsque les outils xcode ne sont pas installés correctement.
xcode-select --install
Si vous avez installé Gem et Ruby et ne pouvez pas installer Rails. Ensuite, installez Ruby dev lib.
Sudo apt-get install Ruby-dev
Ça marche pour moi. J'ai essayé la solution différente.
Red Hat, Fedora:
Sudo dnf -y install gcc-c++ redhat-rpm-config Ruby-devel gcc mysql-devel rubygems
Sudo apt-get install Ruby-dev
Cette commande a résolu le problème pour moi!
Pour ceux qui rencontrent encore des problèmes, comme je l’ai fait (j’utilise Ubuntu 16.04), je devais entrer les commandes suivantes pour pouvoir installer des gemmes comme bcrypt, pg et d’autres. Ils sont tous similaires à ceux ci-dessus sauf un.
Sudo apt-get install Ruby-dev -y
Sudo apt-get install libpq-dev -y
Sudo apt-get install libmysqlclient-dev
Sudo apt-get install build-essential patch -y
Cela m'a permis d'installer des gemmes telles que, PG, bcrypt et recaptcha.
Ma solution initiale consistait à résoudre les erreurs ci-dessus en installant Ruby-devel
, patch
et rubygems
.
Mon problème était un peu différent car bcrypt 3.1.11 avait toujours des problèmes de compilation et d’installation sur Fedora 23. J’avais besoin de paquets supplémentaires. Donc, après m'être assuré de l'installation de ce qui précède, je rencontrais toujours des problèmes:
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à, je devais faire ce qui suit:
Je me suis assuré que les outils du compilateur C ne manquaient pas Sudo dnf group install "C Development Tools and Libraries"
Ensuite, j'ai exécuté Sudo dnf install redhat-rpm-config
pour résoudre le problème de gcc indiqué ci-dessus.
Vous pouvez trouver une écriture ici sur Fedore Project . Vous pouvez également trouver des réponses à d'autres besoins.
Il est nécessaire d'installer redhat-rpm-config sur. Je suppose que cela résout ton problème!
Cela a fonctionné pour moi:
yum -y install gcc mysql-devel Ruby-devel rubygems
dans openSUSE:
zypper in Ruby-devel
Fonctionne pour moi :)
Vous devez installer les packages suivants:
Ruby-dev
gcc
libffi-dev
make
Voici la commande pour la distribution debian:
Sudo apt install gcc Ruby-dev rubygems libgmp-dev libgmp3-dev make