2012-04-30 25 views
2

ffi gem(正しいバージョン1.0.11)が正しくインストールされていてもバンドルのインストールが失敗しました。私はちょうど罰金を経てffiのインストールに失敗しました(envコマンドエラーのため)

gem install ffi -v '1.0.11'
を試してみました

 
Installing ffi (1.0.11) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 
... 
creating Makefile 

make 
Configuring libffi for i386 
env: --disable-static: No such file or directory 
make[1]: *** No targets specified and no makefile found. Stop. 
Configuring libffi for x86_64 
env: --disable-static: No such file or directory 
make[1]: *** No targets specified and no makefile found. Stop. 
make: *** ["/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c/libffi"/.libs/libffi_convenience.a] Error 2 
An error occured while installing ffi (1.0.11), and Bundler cannot continue. 
Make sure that `gem install ffi -v '1.0.11'` succeeds before bundling. 

:「バンドルのインストール」を実行するとき、私は、次のエラーを得ました。 次に、失敗したMakefileを調べて、

make -n
を実行して、何が起こったかを確認します。これは、makeがコマンドに失敗したことが判明:

 cd "/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c"/libffi-$arch && env CC=" gcc" CFLAGS="-arch $arch " LDFLAGS="-arch $arch" "/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c/libffi"/configure --disable-static --with-pic=yes --disable-dependency-tracking --host=$arch-apple-darwin > /dev/null;

具体的には、それはどうやらenvコマンドは、パスは「=含まれているので一部

"/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c/libffi"/configure
は、環境変数を設定することであると考えて
env CC=" gcc" CFLAGS="-arch $arch " LDFLAGS="-arch $arch" "/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c/libffi"/configure --disable-static --with-pic=yes --disable-dependency-tracking --host=$arch-apple-darwin > /dev/null;

に失敗しました。 "私が手動で "="を "_"に変更すると、envコマンドはうまく動作します。しかし、このパスは "bundle install"によって自動的に生成され、これまでは動作していました。

私はちょうど

 bundle install --path=rails_2.3.5
を試してみました。しかし、私はまだパスレール= 2.3.5が過去にどのように働いたのか疑問に思います。

私は誤って私のMacでいくつかの設定を変更したのでそれはありましたか?引用符の "="は環境変数ではないことをenvに認識させることはできますか?

ありがとうございます。

答えて

2

私もこの問題に直面していました。その時、私はインストールされたすべての宝石を清掃し、バンドルをやり直すよりも働いていました。

私はそれがあなたのために働くかどうかは分かりませんが、まだ試してみることができます。

1

私は同じ問題(Mac OS X Lion)を持っていました。 私の場合、Mac OS X Lionにアップグレードした後、私はgccのコマンドラインツールを使い果たしました。

これは、コマンドラインツールをインストールする方法です。 1.Xcodeをインストールします。 2.Xcode - >設定 - >ダウンロードタブ - >コマンドラインツール

インストール後、私のケースが解決しました。

+0

さらに、https://github.com/kennethreitz/osx-gcc-installerをインストール/再インストールする必要があります。 Mountain Lionへのアップグレード後、私のインストールが壊れました。 osx-gcc固定オブジェクトをffiで再インストールしてください。 –

関連する問題