Как мне упаковать приложение Ruby для Ubuntu, включая его зависимости от гемов?

У меня есть утилита командной строки с именем Maid , которую я в настоящее время распространяю как a RubyGem . Я также хотел бы распространить его в виде пакета .deb , чтобы пользователям Ubuntu было проще устанавливать .

В настоящее время пользователям Ubuntu приходится делать немало вручную, особенно для тех, кто не знаком с Ruby:

sudo apt-get install ruby
sudo apt-get install rubygems
# Make sure `ruby` and `gem` are in `$PATH`
sudo gem install maid
maid version # example command

В идеале, я хочу установить единственную команду в новой версии Ubuntu:

sudo apt-get install maid
maid version # example command

Набор инструментов gem2deb (gem2tgz, dh-make-ruby и т. д.) являются почти тем, что я ищу. Но по умолчанию gem2deb не упаковывает требуемые зависимости gem. Горничная очень проста и зависит только от thor во время выполнения. ( Изменить: по мере развития Maid, и теперь у него больше зависимостей.) Но без этой зависимости ничего не работает.

Итак, как мне упаковать это приложение Ruby для Ubuntu, а также включить его зависимости от гемов? Существуют ли другие инструменты, которые я мог бы использовать, или учебные пособия /примеры, которым я мог бы следовать?

7 голосов | спросил Benjamin Oakes 2 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 02 Sep 2012 08:13:04 +0400 2012, 08:13:04

1 ответ


0

Поскольку apt-get и gem Обе зависимости разрешаются, вы можете просто создать метапакет, который зависит от ruby1.9.1 (который сам по себе приносит Rubygems и все остальное). Затем в сценарии после установки просто выполните команду sudo gem1.9.1 install maid.

Я не могу изложить весь процесс создания пакета здесь, но есть много хороших учебников по нему в Интернете.

ответил Linuxios 2 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 02 Sep 2012 09:32:00 +0400 2012, 09:32:00

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132