15

您如何在 Snow Leopard 上使用 MacRuby .5 应用程序中的 gem?我需要指定 gem 路径吗?如果是这样,我该怎么做?

最好的方案是将 gem 打包到应用程序中,这样用户在分发应用程序时就不必安装它们。

4

5 回答 5

12

要在 MacRuby 项目中使用 gems,您需要使用:

$ sudo macgem 安装 gem_name

并不是所有的 gem 都与 MacRuby 兼容。

于 2009-10-20T15:15:53.423 回答
5

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'

我在这里使用后一种方法:

http://github.com/rubiojr/canasto

于 2009-12-04T14:47:55.923 回答
4

如果您正在打包 MacRuby 应用程序,您还可以在部署目标的“信息”选项卡下添加--gem标志。macruby_deploy

这会将指定的 gem 放在包深处的 site_ruby 文件夹中。

我为我的应用程序传递 macruby_deploy 的参数是:

--compile --embed --gem sequel --gem sqlite3
于 2011-05-08T20:36:00.893 回答
2

用 C 编写的 Gem 尚不能在 MacRuby 中使用。所以,暂时没有nokogiri

为了打包 gems,刚刚发布的 MacRuby 0.5 beta 2 包含了这个工具macrubyc,它将 MacRuby 框架打包到你的包中。他们还添加了对直接从 Xcode 执行此操作的支持,只需一步即可。

于 2009-11-17T08:17:06.990 回答
-5

第一个你必须安装gem:

$ sudo gem install gem_name

然后只需在您的程序中要求它,您还必须要求“rubygems”:

require 'rubygems'
require 'gem_name'
于 2009-10-17T22:01:35.947 回答