通过 gems 或使用 Debian 上的 apt-get 安装 Ruby gems

通过 gems 或使用 Debian 上的 apt-get 安装 Ruby gems

我想在我的 Debian squeeze 服务器上安装 gitorious。为此,我必须安装一些 gem,例如 MySQL 的 ruby​​ 数据库驱动程序。

我可以选择使用 Debian 软件包并通过 安装它,apt-get或者使用gem安装它。为了使后者工作,我安装了 MySQL 的必要开发包。

所以到现在为止它运行良好。

我的问题是:从长远来看,什么更容易:使用语言特定的包管理器(如 Ruby 的 gem、Perl 的 CPAN 等),还是最好寻找这些扩展的 Debian 包?

我欣赏比我更优秀的管理员的想法和最佳实践。

答案1

这在很大程度上取决于您打算使用什么软件。通常,我建议您要么从源代码安装所有 ruby​​ 软件包(即使用 ruby​​gems),要么坚持使用 debs。混合两个源会造成一些严重的麻烦。如果您打算使用 ruby​​gems,您应该考虑从源代码安装 ruby​​gems 本身。Lenny 的软件包至少曾经与上游的行为略有不同,以适应 Debian 的变化。我不确定 Squeeze 中是否仍然如此。

使用 deb 软件包的优点是只需依赖一个软件包管理器,即可免费获得(安全)更新。缺点是灵活性较差,因为您只能安装一个强制版本的 gem。

rubygems 方法为您提供了更大的灵活性,因为您可以安装任何您喜欢的包,并且可以拥有它们的多个版本。但是,您必须自己留意依赖项、安全升级等。Ruby gem 往往没有指定了严格的依赖关系,因此可能会发生软件包将软件包版本指定为允许的依赖关系,这实际上会破坏某些东西。您需要阅读此处的文档。

最后,这取决于您的实际使用情况。如果您的大多数(或所有)工具都以 Debian 软件包的形式提供,并且版本符合您的要求,那么您应该这样做。如果您需要更多,请一直使用 gem 路线。在这种情况下,我想让您感兴趣的是右心室它允许您独立于底层操作系统管理 ruby​​ 安装的各个方面。您甚至可以为多个应用程序安装多个 ruby​​ 版本和已安装的 gem 集。

相关内容