将 Gems 与 MacRuby 结合使用
如何在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
要在 MacRuby 项目中使用 gem,您需要使用:
目前,并非所有 gem 都与 MacRuby 兼容。
To use gems in a MacRuby project you need to use:
Not all gems are compatible with MacRuby, yet.
Yehuda Katz gem 捆绑器是一个非常好的选择恕我直言:
http://github.com/wycats/bundler
无论如何,还有许多其他选项,例如在应用程序包中创建一个供应商/目录,将每个供应商子目录添加到
rb_main.rb
中的 ruby 库搜索路径:我在这里使用后一种方法:
< 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
:I'm using the latter approach here:
http://github.com/rubiojr/canasto
如果您要打包 MacRuby 应用程序,还可以在部署目标的“信息”选项卡下添加带有
macruby_deploy
的--gem
标志。这会将指定的 gem 放入包深处的 site_ruby 文件夹中。
我为我的应用程序传递的 macruby_deploy 参数是:
If you're packaging a MacRuby application you can also add the
--gem
flag withmacruby_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:
用 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.首先,您必须安装 gem:
然后只需在您的程序中需要它,您还必须需要“rubygems”:
1st u will have to install the gem:
then simply require it on your program, u will have to require the 'rubygems' also: