1. ホーム
  2. mysql

[解決済み] gem install: gemネイティブエクステンションのビルドに失敗しました(ヘッダーファイルが見つかりません)。

2022-03-15 04:52:28

質問

Fedora 14 を使用しており、MySQL と MySQL server 5.1.42 がインストールされ、実行されています。 今、私はrootユーザーとしてこれを実行しようとしました。

gem install mysql

でも、こんなエラーが出ます。

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

ここで何が問題なのか?ruby 1.8.7 と最新の rubygems 1.3.7 をインストールしました。

解決方法は?

私がそうだったように、受け取った答えに戸惑うかもしれない人のために、rubyのヘッダーもインストールする必要があります[ ]。 ruby-devel ].

私のhideを救ってくれたのは、この記事 こちら .

そして、これが修正された解決策です(Fedora 13を使用していることに注意してください)。

yum -y install gcc mysql-devel ruby-devel rubygems
gem install -y mysql -- --with-mysql-config=/usr/bin/mysql_config

Debian および Debian スタイルのパッケージングを使用しているその他のディストリビューションでは、ruby 開発用ヘッダは以下の方法でインストールされます。

sudo apt-get install ruby-dev

Ubuntuの場合、rubyの開発用ヘッダーは以下の方法でインストールされます。

sudo apt-get install ruby-all-dev

もし、以前のバージョンのruby(2.2など)を使用している場合は、実行する必要があります。

sudo apt-get install ruby2.2-dev

(ここで、2.2 は希望の Ruby のバージョンです)