您如何在 Snow Leopard 上使用 MacRuby .5 应用程序中的 gem?我需要指定 gem 路径吗?如果是这样,我该怎么做?
最好的方案是将 gem 打包到应用程序中,这样用户在分发应用程序时就不必安装它们。
要在 MacRuby 项目中使用 gems,您需要使用:
$ sudo macgem 安装 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'
我在这里使用后一种方法:
如果您正在打包 MacRuby 应用程序,您还可以在部署目标的“信息”选项卡下添加--gem
标志。macruby_deploy
这会将指定的 gem 放在包深处的 site_ruby 文件夹中。
我为我的应用程序传递 macruby_deploy 的参数是:
--compile --embed --gem sequel --gem sqlite3
用 C 编写的 Gem 尚不能在 MacRuby 中使用。所以,暂时没有nokogiri。
为了打包 gems,刚刚发布的 MacRuby 0.5 beta 2 包含了这个工具macrubyc
,它将 MacRuby 框架打包到你的包中。他们还添加了对直接从 Xcode 执行此操作的支持,只需一步即可。
第一个你必须安装gem:
$ sudo gem install gem_name
然后只需在您的程序中要求它,您还必须要求“rubygems”:
require 'rubygems'
require 'gem_name'