Задать вопрос

Сборка standalone ruby-приложения для различных ОС (Windows, Mac, Linux). Есть рабочие решения?

Есть простенький парсер, написанный на ruby, использующий gem nokogiri, и состоящий из всего одного .rb-скрипта.
Возможно ли собрать из него приложение для автономного использования в различных ОС (Windows, Mac, Linux)?

Сам работаю на Mac OS X, поэтому решения на базе гема ocra не завелись. Пробовал гем releasy, но он ни в какую не захотел бандлить nokogiri, и кроме того он по всей видимости заброшен и по нему жутко мало информации. Пробовал софтину Platypus.app, она бандлит скрипт нормально, но в итоге ничего не работает, программа запускается, и сразу же прекращается.

Есть ли хоть какие-то работающие решения?
  • Вопрос задан
  • 2877 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
olegkrasnov
@olegkrasnov
logomaker
shoesrb.com Это не оно?
Ответ написан
Комментировать
@vsuhachev
Сборка отдельного приложения это просто запаковка интерпретатора, всех гемов и вашего скрипта в нечто наподобии SFX-архива с автозапуском. При запуске его на целевой платформе все это распаковывается во временную папку и запускается ruby.exe с набором ключей. По крайней мере так работали все виденные мной средства для создания "exe" для ruby. К тому же кросс-сборки нет и для сборки виндовой версии нужна Винда, для Макоси - Макось и т.д. В общем это не самый оптимальный путь, запуска своего приложения из командной строки.

Обычно такое приложение пакуют в gem (в вашем случае с зависимостью от nokogiri) и снабжают все это инструкцией как установить в разных ОС ruby и ваш гем. Возможно еще придется описать как ставить зависимости, если они ставятся не без проблем. В вашем случае все просто, нокогири уже имеет подробную инструкцию по установке.
Ответ написан
Комментировать
phoenixweiss
@phoenixweiss Автор вопроса
В общем вариантов больше не существует?

Может быть вообще возможно как-то в бинарный код все это запихать? Консольное приложение собрать?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы