MacRuby の gem (ruby-keychain) を使用する必要があり、この gem は FFI を使用しています。
しかし、FFI は MacRuby から動作していないようです。
irb コンソールを使用すると、正常に動作します。
cobalt:~ charbon$ irb
irb(main):001:0> require 'ffi'
=> true
irb(main):002:0> module MyLib
irb(main):003:1> extend FFI::Library
irb(main):004:1> ffi_lib 'c'
irb(main):005:1> attach_function :puts, [ :string ], :int
irb(main):006:1> end
=> #<FFI::Function address=0x007fff8be0197b>
irb(main):007:0> MyLib.puts 'Hello, World using libc!'
Hello, World using libc!
しかし、Macirb コンソール (Macruby が提供するコンソール) に切り替えるとすぐに失敗します。
cobalt:~ charbon$ macirb
irb(main):001:0> require 'ffi'
=> true
irb(main):002:0>
=> nil
irb(main):003:0> module MyLib
irb(main):004:1> extend FFI::Library
irb(main):005:1> ffi_lib 'c'
irb(main):006:1> attach_function :puts, [ :string ], :int
irb(main):007:0> end
NoMethodError: undefined method `ffi_lib' for MyLib:Class
gem FFI がシステムにインストールされている
cobalt:~ charbon$ macgem list
*** LOCAL GEMS ***
corefoundation (0.1.4)
ffi (1.9.0)
ruby-keychain (0.1.1)
私はそれについてできる限り検索しました。
https://github.com/MacRuby/MacRuby/blob/master/lib/ffi.rbによると、FFIはMacRubyに組み込まれている
同じ質問でネット上にいくつかの投稿が見つかりましたが、答えはありません(1つだけ入れてください。それ以上の担当者はいません) https://github.com/kreynolds/phidgets-ffi/issues/4
誰かが助けてくれることを願っています! 私はos X 10.8.3、ruby 1.9.3、macruby 1.9.2で作業しています