将 Gems 与 MacRuby 结合使用

发布于 2024-08-07 21:22:45 字数 127 浏览 7 评论 0原文

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

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

How do you use gems from a MacRuby .5 application on Snow Leopard? Do I need to specify the gem path? If so, how do I do this?

Best scenario is to package the gems inside the application so the user would not have to install them when the app is distributed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

东北女汉子 2024-08-14 21:22:45

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

$ sudo macgem install gem_name

目前,并非所有 gem 都与 MacRuby 兼容。

To use gems in a MacRuby project you need to use:

$ sudo macgem install gem_name

Not all gems are compatible with MacRuby, yet.

橘亓 2024-08-14 21:22:45

Yehuda Katz gem 捆绑器是一个非常好的选择恕我直言:

http://github.com/wycats/bundler

无论如何,还有许多其他选项,例如在应用程序包中创建一个供应商/目录,将每个供应商子目录添加到 rb_main.rb 中的 ruby​​ 库搜索路径:

$:.unshift File.join(File.dirname(__FILE__), 'vendor/rest-client/lib')
$:.unshift File.join(File.dirname(__FILE__), 'vendor/crack/lib')
require 'rest-client'
require 'crack'

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

< a href="http://github.com/rubiojr/canasto" rel="nofollow noreferrer">http://github.com/rubiojr/canasto

Yehuda Katz gem bundler is a very good option IMHO:

http://github.com/wycats/bundler

Anyway, there are many other options such as creating a vendor/ directory in your app bundle adding each vendor subdir to the ruby library search path in 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'

I'm using the latter approach here:

http://github.com/rubiojr/canasto

那伤。 2024-08-14 21:22:45

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

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

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

--compile --embed --gem sequel --gem sqlite3

If you're packaging a MacRuby application you can also add the --gem flag with macruby_deploy under the "Info" tab for your Deployment target.

This puts the specified gem in the site_ruby folder deep within your package.

The arguments I'm passing macruby_deploy for my app are:

--compile --embed --gem sequel --gem sqlite3
濫情▎り 2024-08-14 21:22:45

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

为了打包这些 gem,刚刚发布的 MacRuby 0.5 beta 2 包含了 macrubyc 工具,它将 MacRuby 框架打包到您的包中。他们还添加了对直接从 Xcode 一步完成此操作的支持。

Gems that are written in C are not usable from MacRuby yet. So, no nokogiri for the time being.

To package the gems, the just released MacRuby 0.5 beta 2 includes the tool macrubyc, which packages the MacRuby framework inside your bundle. They also added support for doing this directly from Xcode in just one step.

染火枫林 2024-08-14 21:22:45

首先,您必须安装 gem:

$ sudo gem install gem_name

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

require 'rubygems'
require 'gem_name'

1st u will have to install the gem:

$ sudo gem install gem_name

then simply require it on your program, u will have to require the 'rubygems' also:

require 'rubygems'
require 'gem_name'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文