2

ffi gem (適切なバージョン 1.0.11) が正常にインストールされているにもかかわらず、バンドルのインストールで ffi を Mac にインストールできませんでした。「bundle install」を実行すると、次のエラーが発生しました。

ネイティブ拡張を使用した ffi (1.0.11) のインストール
Gem::Installer::ExtensionBuildError: エラー: gem ネイティブ拡張のビルドに失敗しました。
...
Makefile の作成

作る
i386 用の libffi の構成
env: --disable-static: そのようなファイルまたはディレクトリはありません
make[1]: *** ターゲットが指定されておらず、makefile が見つかりません。止まる。
x86_64 用の libffi の構成
env: --disable-static: そのようなファイルまたはディレクトリはありません
make[1]: *** ターゲットが指定されておらず、makefile が見つかりません。止まる。
make: *** ["/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c/libffi"/.libs/libffi_convenience.a] エラー 2
ffi (1.0.11) のインストール中にエラーが発生し、Bundler を続行できません。
バンドルする前に、「gem install ffi -v '1.0.11」が成功することを確認してください。

私は試した

gem install ffi -v '1.0.11'
それはうまくいきました。次に、失敗した Makefile を調べて実行しました
-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 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 コマンドは問題なく動作します。ただし、このパスは「bundle install」によって自動生成されたもので、以前は機能していました。

やってみました

bundle install --path=rails_2.3.5
そしてそれは通り抜けました。しかし、パス rails=2.3.5 が過去にどのように機能したかはまだ疑問です。

Mac の設定を誤って変更してしまったのでしょうか。引用符で囲まれた "=" が環境変数用ではないことを env に認識させることはできますか?

どうもありがとう。

4

2 に答える 2

2

私もこの問題に直面し、その時点でインストールされていたすべての宝石を掃除し、バンドルを再度実行したところ、機能していました。

それがうまくいくかどうかはわかりませんが、それでも試すことができます。

于 2012-04-30T05:39:53.527 に答える
1

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

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

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

于 2012-05-18T23:36:23.430 に答える