7

我有一个名为Maid的命令行实用程序,我目前将它作为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工具套件( gem2tgzdh-make-ruby等)几乎就是我想要的。 默认情况下gem2deb不打包任何所需的 gem 依赖项。Maid 真的很简单,只依赖thor于运行时。(编辑:随着 Maid 的发展,现在有更多的依赖关系。)但是没有这种依赖关系,什么都行不通。

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

4

2 回答 2

3

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

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

于 2012-09-02T05:32:00.577 回答
3

使用fpm,您可以(除其他外)直接从 gem 中创建 deb。wiki有一个广泛的示例。它的要点是调用

cd /tmp
fpm -s gem -t deb maid
于 2012-09-02T16:40:27.653 回答