361 votes

GEM install : échec de gem extension native (peut ' t trouver les fichiers d’en-tête)

J'utilise Fedora 14 et MySQL et MySQL 5.1.42 sont installés et en cours d'exécution. Maintenant, j'ai essayé de faire cela en tant qu'utilisateur root:

 gem install mysql
 

Mais j'ai 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
 

Qu'est-ce qui ne va pas ici? Dans ruby ​​installé 1.8.7. et les derniers rubygems 1.3.7.

/ Tim

763voto

Brian Lacy Points 4408

Pour ceux qui pourraient être déroutés par la réponse acceptée, comme pour moi, vous devez également avoir les en-têtes ruby ​​installés [ 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
 

92voto

Nowaker Points 2449

Red Hat, 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
 

25voto

andrej Points 702

il semble que le

 yum install ruby-devel
 

était suffisant pour moi de jouer

 gem install datamapper
 

ensuite.

Il est possible que vous deviez installer un autre package:

 yum install gcc gcc-c++
 

être capable de construire des extensions natives

8voto

Tim Points 3912

J'ai trouvé la solution ici .

 # yum install mysql-devel gcc make
# gem install mysql -- --with-mysql-config=/usr/bin/mysql_config
 

8voto

qkrijger Points 3310

Ce poste m'a aidé. Merci beaucoup.

Sur Linux (Ubuntu 12.10), je devais exécuter

  • sudo apt-get installer ruby
  • sudo apt-get install rubygems
  • sudo apt-get installer ruby-dev

avant que je puisse courir avec succès

  • sudo gem installer jekyll

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X