11

centos 6.3 で rvm を使用して ruby​​ 1.9.3p327 と rails 3.2.8 をインストールしました。しかし、特定のプロジェクト フォルダーに対してバンドル インストールを実行しているときに、その間に gem unf_ext 0.0.5 をインストールしようとしてプロセスが失敗し、次のエラーがスローされます。

unf_ext (0.0.5) をネイティブ拡張でインストールする Gem::Installer::ExtensionBuildError: エラー: Gem ネイティブ拡張のビルドに失敗しました。

/home/rradmin/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb -fPIC
checking for main() in -lstdc++... yes
checking for ruby/encoding.h... yes
creating Makefile

make
compiling unf.cc
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/vector:61,
from unf/normalizer.hh:4,
from unf.cc:1:
.....
....
...

Gem ファイルは、検査のために /home/rradmin/.rvm/gems/ruby-1.9.3-p327@r32/gems/unf_ext-0.0.5 にインストールされたままになります。結果は /home/rradmin/.rvm/gems/ruby-1.9.3-p327@r32/gems/unf_ext-0.0.5/ext/unf_ext/gem_make.out に記録されます

unf_ext (0.0.5) のインストール中にエラーが発生し、Bundler を続行できません。gem install unf_ext -v '0.0.5'バンドルする前に、それが成功することを確認してください。

上記のようにunf_extを個別にインストールしようとしましたが、同じエラーが発生しました。https://github.com/cowboyd/therubyracer/issues/135を参照しましたが、まだ問題を解決できません。この問題を解決する適切な方法を教えてください。

ありがとうございました。

4

4 に答える 4

21

Ubuntuでは、私はする必要がありました

sudo apt-get install build-essential

これを修正します。

(記録のために、私は新しく構築されたUbuntu 12.10 Server X64を使用しています)

于 2013-04-24T13:47:30.490 に答える
1

libstdc++-develを使用してインストールすることで問題を解決しましたyum install gcc-c++ libstdc++-devel

于 2015-09-21T20:25:57.060 に答える
1

このエラーは、gem をコンパイルするためのサポート ライブラリがない場合に発生します。次のパッケージをインストールしてみてください。

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core     zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison

次に、バンドルのインストールを行います

于 2012-12-12T08:58:20.033 に答える
0

スーマンに感謝します。しかし、yum install gcc-g ++libstdc++-develを使用してlibstdc++-develをインストールすることで問題を解決しました。

于 2012-12-12T11:38:38.037 に答える