Snow Leopard で MacRuby .5 アプリケーションの gem をどのように使用しますか? gem パスを指定する必要がありますか? もしそうなら、どうすればいいですか?
最良のシナリオは、アプリの配布時にユーザーが gem をインストールする必要がないように、gem をアプリケーション内にパッケージ化することです。
MacRuby プロジェクトで gem を使用するには、以下を使用する必要があります。
$ sudo macgem install gem_name
まだすべての gem が MacRuby と互換性があるわけではありません。
Yehuda Katz gem bundler は非常に優れたオプションです。
http://github.com/wycats/bundler
とにかく、アプリ バンドルに vendor/ ディレクトリを作成し、各ベンダー サブディレクトリを の ruby ライブラリ検索パスに追加するなど、他にも多くのオプションがありますrb_main.rb
。
$:.unshift File.join(File.dirname(__FILE__), 'vendor/rest-client/lib')
$:.unshift File.join(File.dirname(__FILE__), 'vendor/crack/lib')
require 'rest-client'
require 'crack'
ここでは後者のアプローチを使用しています。
C で書かれた Gem は、まだ MacRuby から使用できません。というわけで、とりあえずノコギリ無し。
gem をパッケージ化するために、リリースされたばかりの MacRuby 0.5 ベータ 2 にはmacrubyc
、MacRuby フレームワークをバンドル内にパッケージ化するツールが含まれています。また、ワンステップで Xcode から直接これを行うためのサポートも追加しました。
まず、gem をインストールする必要があります。
$ sudo gem install gem_name
次に、単にプログラムでそれを要求するだけです。「rubygems」も要求する必要があります。
require 'rubygems'
require 'gem_name'