
CentOS 5.3 で Ruby 1.9.3 を実行しています。Ruby 1.9.3 をソースからコンパイルし、libyaml とともにインストールしました。また、バージョン管理に rbenv を使用しているため、コンパイルしたインストールを ~/.rbenv/versions/1.9.3-p286 に配置しました。これは、rbenv が Ruby のバージョンを保存する場所です。
すべてがうまく機能しており、現在 Gems をインストールしています。ただし、特に 1 つの gem がまだインストールされていないため、依存関係が不足しているのではないかと考えています。これは内部 gem であるため、RubyGems にはリストされていませんが、gem インストールの出力は次のとおりです。
Building native extensions. This could take a while...
ERROR: Error installing vmc-helper:
ERROR: Failed to build gem native extension.
/home/fs/.rbenv/versions/1.9.3-p286/bin/ruby extconf.rb
checking for expat.h... no
checking for xmlparse.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
私は Debian ユーザーなので、Redhat/RPM パッケージなどについてはあまり経験がありません。そのため、この Gem をインストールするためにシステムに不足している依存関係が何なのかわかりません。
上記の欠落しているヘッダー ファイル用にインストールする必要があるパッケージを教えていただけますか?
答え1
不足しているファイルを探します:
checking for expat.h... no
checking for xmlparse.h... no
次に、yum
これらのファイルを提供するパッケージを検索します。
yum provides */expat.h
/usr/include/expat.h
ここでは複数のパッケージが表示されます。探しているパッケージは、標準の include ディレクトリに含まれるパッケージです。したがって、指定されたパッケージをインストールします。
yum install expat-devel
他のファイルに対しても同じプロセスを繰り返します。
yum provides */xmlparse.h
ここで失敗し、エラーが発生しますNo matches found
。 この場合、gem のソース コードを読むか、開発者に連絡して、必要なパッケージが何であるかを確認する必要があります。gem のドキュメントにシステム要件として記載されているはずです (開発者がドキュメントを作成している場合)。