DevKitをインストールして、ffi install….gotを出力として再実行します。
C:\Documents and Settings\******>gem install ffi
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing ffi:
ERROR: Failed to build gem native extension.
C:/Ruby192/bin/Ruby.exe extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include... no
checking for rb_thread_blocking_region()... yes
checking for Ruby_thread_has_gvl_p()... yes
checking for Ruby_native_thread_p()... yes
checking for rb_thread_call_with_gvl()... yes
creating extconf.h
creating Makefile
make
C:/Ruby192/bin/Ruby -e "puts 'EXPORTS', 'Init_ffi_c'" > ffi_c-i386-mingw32.def
gcc -I. -IC:/Ruby192/include/Ruby-1.9.1/i386-mingw32 -I/C/Ruby192/include/Ruby-1
.9.1/Ruby/backward -I/C/Ruby192/include/Ruby-1.9.1 -I. -DRUBY_EXTCONF_H=\"extcon
f.h\" -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -
Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -Wno-declaration-a
fter-statement -o AbstractMemory.o -c AbstractMemory.c
In file included from AbstractMemory.c:28:0:
compat.h:65:20: warning: extra tokens at end of #ifndef directive
compat.h:69:24: warning: extra tokens at end of #ifndef directive
In file included from AbstractMemory.h:29:0,
from AbstractMemory.c:29:
Types.h:68:17: fatal error: ffi.h: No such file or directory
compilation terminated.
make: *** [AbstractMemory.o] Error 1
Gem files will remain installed in C:/Ruby192/lib/Ruby/gems/1.9.1/gems/ffi-1.0.1
0 for inspection.
Results logged to C:/Ruby192/lib/Ruby/gems/1.9.1/gems/ffi-1.0.10/ext/ffi_c/gem_m
ake.out
_________________________________________________________________________________
この問題への対処方法がわかりません。親切に助けてください。
バージョン1.0.10には、Windowsでのコンパイルに関する問題があります。
1.0.9を使用できます
gem install ffi --version='1.0.9'
Gemのインストールffiは、gemがlibffiのバンドルされたコピーを作成しようとしているために失敗します。これは、/ usr/bin/envが存在し、古すぎるlibffiコピーであるという前提のために機能しません。
ただし、システムlibffiに対してffi gemをビルドできます-パッケージをインストールします。
apt install clang make Ruby-dev libffi-dev
その後、ffi gemがビルドされます。
gem install ffi
Sudo apt-get install libffi-dev
これは私のために働いた
バンドラーが最新バージョンを入手し続けようとする場合、バージョン1.0.9をインストールするだけでは十分ではないことに注意してください。あなたのgemfileにあなたも置くことになるでしょう:
gem 'ffi', '1.0.9'
これは、gemが要求する依存関係を満たし、起動して実行できるようにする必要があります。
私にとって、修正はこの順序で実行されていました。何が関連していたのかはわかりませんが、うまくいきました:
gem install ffi --version '1.0.9'
上記は失敗しましたが、私は正常に実行できました:
gem install bundler
...そしてその後:
gem install ffi
...最新バージョン(これを書いている時点では1.6.0)を取得して正常にインストールしました。
上記の手順を実行すると、次のメッセージが表示される場合があります。
$ bundle install
Fetching source index for https://rubygems.org/
You have requested:
ffi = 1.0.9
The bundle currently has ffi locked at 1.0.11.
Try running `bundle update ffi`
その場合は、「bundle update ffi」コマンドを実行すると、エラーが解決します。
「osx-gcc-installer」のインストールは私にとってはうまくいきました:(osx 10.8)
あなたはこれを必要とします、
apt-get install Ruby2.2-dev
ImageMagickとrmagickをMountain Lionにインストールする際の問題 で述べたように、ffiは 'gcc-4.2'を探すように構成されているようです。 Appleコマンドラインツール (これが必要かどうかにかかわらず)、ffiインストール構成を満足させるためのシンボリックリンクを作成しました。
Sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
PATHの前にDevKitを置き、Windowsコマンドプロンプトから再度インストールします。
同じ問題が発生しました。私の場合、DevKitをインストールしていません。次の場所にあります http://rubyinstaller.org/downloads/ 。 DevKitをインストールしたら、次の手順 https://github.com/oneclick/rubyinstaller/wiki/development-kit を実行するだけで、最終的に起動します。
動作させるためにautomake
をインストールする必要がありました。 Mac OSXとUbuntu(CIマシン)の両方で動作しました。