如何为Ubuntu打包Ruby应用程序,包括它的gem依赖项?

时间:2012-09-02 04:13:05

标签: ruby ubuntu rubygems deb

我有一个名为Maid的命令行实用程序,我目前将其分发为a RubyGem。我还希望将其分发为.debto make it easier for Ubuntu users to install

目前,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工具套件(gem2tgzdh-make-ruby等)几乎我正在寻找的东西。 默认情况下gem2deb不会打包所需的任何gem依赖项。 Maid非常简单,只在运行时依赖于thor。 (编辑:,因为Maid已经发展,现在有更多的依赖关系。)但如果没有这种依赖关系,那么一切都无效。

那么,我如何为Ubuntu打包这个Ruby应用程序并包含它的gem依赖项呢?我可以使用其他任何工具或者我可以遵循的教程/示例吗?

2 个答案:

答案 0 :(得分:3)

因为apt-getgem都是依赖项解析,所以你可以创建一个依赖于ruby1.9.1的元数据包(它本身带来了Rubygems和其他所有内容)。然后在安装后的脚本中,只需执行sudo gem1.9.1 install maid

我不能在这里列出制作包的整个过程,但是网上有很多很好的教程。

答案 1 :(得分:3)

使用fpm你可以(以及其他人)直接从宝石创建deb。 wiki有一个广泛的例子。它的要点是打电话

cd /tmp
fpm -s gem -t deb maid