Использование драгоценных камней с MacRuby
Как вы используете драгоценные камни из приложения MacRuby.5 на Snow Leopard? Нужно ли указывать путь к gem? Если да, то как это сделать?
Лучший сценарий заключается в том, чтобы упаковать драгоценные камни внутри приложения, чтобы пользователю не приходилось устанавливать их при распространении приложения.
Ответы
Ответ 1
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
Ответ 2
Чтобы использовать камни в проекте MacRuby, вам нужно использовать:
$sudo macgem install gem_name
Не все драгоценные камни совместимы с MacRuby.
Ответ 3
Если вы упаковываете приложение MacRuby, вы также можете добавить флаг --gem
с macruby_deploy
на вкладке "Информация" для своей цели развертывания.
Это помещает указанный камень в папку site_ruby глубоко внутри вашего пакета.
Аргументы, которые передаю macruby_deploy для моего приложения:
--compile --embed --gem sequel --gem sqlite3
Ответ 4
Драгоценные камни, написанные на C, еще не годятся для MacRuby. Итак, пока не нокогири.
Чтобы упаковать драгоценные камни, только что выпущенная MacRuby 0.5 beta 2 включает инструмент macrubyc
, который упаковывает инфраструктуру MacRuby внутри вашего пакета. Они также добавили поддержку для этого непосредственно из Xcode всего за один шаг.
Ответ 5
1st u должен будет установить драгоценный камень:
$ sudo gem install gem_name
а затем просто потребуйте его в своей программе, и вам также понадобится "rubygems":
require 'rubygems'
require 'gem_name'