web-dev-qa-db-ja.com

gem install:gemネイティブエクステンションの構築に失敗しました(ヘダーファイルが見つけません)

私はFedora 14を使用しています、そしてMySQLとMySQLサーバー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。

346
Tim

私がそうであったように、受け入れられた答えに混乱するかもしれない人たちのために、あなたはRubyヘッダもインストールする必要があります[Ruby-devel]。

私の皮を救った記事はここ です

そしてこれが修正された解決策です(私は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バージョンです)

748
Brian Lacy

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
91
Nowaker

2015年にこれを読んでいる人のために:もしあなたがRuby2.0パッケージをインストールしたのなら、あなたは適切なRubyヘッダを得るために一致するRuby2.0-devをインストールする必要があります。 Ruby2.1Ruby2.2なども同じです。次に例を示します。

$ Sudo apt-get install Ruby2.2-dev
50
Dror S.

それは

yum install Ruby-devel

私が実行するのに十分だった

gem install datamapper

その後。

他のパッケージをインストールする必要があるかもしれません。

yum install gcc gcc-c++

ネイティブエクステンションを構築できるようにする

24
andrej

この記事は私を助けました。どうもありがとう。

Linux(Ubuntu 12.10)では、実行する必要がありました

Sudo apt-get install Ruby
Sudo apt-get install rubygems
Sudo apt-get install Ruby-dev

うまく走る前に

Sudo gem install jekyll
8
qkrijger

私はここで解決策 を見つけました

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

Xcodeツールが正しくインストールされていない場合、MACユーザーはこの問題に直面する可能性があります。下記は問題を取り除くためのコマンドです。

xcode-select --install
5
Ajit Singh

GemがインストールされていてRubyでRailsをインストールできない場合。それからRuby dev libをインストールしてください。

Sudo apt-get install Ruby-dev

わたしにはできる。私は別の解決策を試しました。

4

Red Hat、Fedora:

Sudo dnf -y install gcc-c++ redhat-rpm-config Ruby-devel gcc mysql-devel rubygems
2
mkungla
Sudo apt-get install Ruby-dev

このコマンドは私のために問題を解決しました!

私が持っているように(Ubuntu 16.04を使っているように)まだ問題を抱えている人たちのために、私はbcrypt、pg、その他のようないくつかのgemをインストールするために次のコマンドを入れなければなりませんでした。 1つを除いてそれらはすべて上のものと似ています。

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

これにより、PG、bcrypt、recaptchaなどのgemをインストールできました。

1
Mike

私の最初の解決策はRuby-develpatchおよびrubygemsをインストールすることによって上記のエラーを解決することでした。

私の問題は、bcrypt 3.1.11とは少し違っていました。それでもFedora 23でのコンパイルとインストールに問題がありました。追加のパッケージが必要でした。だから私は上記をインストールしたことを確認した後、私はまだ問題を抱えていました:

gcc: error: conftest.c: No such file or directory

gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory

ここから私は次のことをしなければなりませんでした:

  • 私はCコンパイラツールが何も欠けていないことを確認しましたSudo dnf group install "C Development Tools and Libraries"

  • それから私はSudo dnf install redhat-rpm-configを実行して上記のgccの問題を解決しました。

あなたは Fedore Project にここで書き上げることができます。他のニーズに対する答えもあるかもしれません。

1
Andrew Lobban

にredhat-rpm-configをインストールする必要があります。私はそれがあなたの問題を解決すると思います!

0
user3645907

これは私のために働いた:

yum -y install gcc mysql-devel Ruby-devel rubygems
0
Shveta Sachdeva

openSUSEでは:

zypper in Ruby-devel

私にはうまくいきます:)

0
Raul Libório

以下のパッケージをインストールする必要があります。

  • Ruby-dev

  • gcc

  • libffi-dev

  • make

これがdebian distroのコマンドです。

 Sudo apt install gcc Ruby-dev rubygems libgmp-dev libgmp3-dev make 
0
rmpestano