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

我想在我的Debian挤压服务器上安装gitorious。 为此,我必须安装一些像Ruby的Ruby数据库驱动程序的gem。

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

所以它现在工作正常。

我的问题是:从长远来看,更容易的事情是:使用像Ruby的Gem,Perl的CPAN等语言特定的包pipe理器,还是寻找这些扩展的Debian包更好?

我赞赏比我更好的pipe理员的想法和最佳做法。

这在很大程度上取决于您打算使用的软件。 一般来说,我build议你从源代码(即使用rubygems)安装所有的ruby软件包,或者坚持debs。 混合两种来源将会导致一些严重的痛苦。 如果你打算使用rubygems,你应该考虑从源代码安装rubygems。 Lenny的软件包至less用来和上游有些不同,以适应Debian的变化。 我不确定Squeeze的情况是否如此。

使用deb软件包作为不得不依靠一个软件包pipe理器并免费获得(安全)更新的优势。 缺点是灵活性较差,因为您只能安装一个授权版本的gem。

rubygems方法带给你更多的灵活性,因为你可以安装你喜欢的任何软件包,并且可以有多个版本。 但是,您已经注意到依赖关系,安全升级,…自己。 Rubygem往往没有严格的依赖指定,所以可能发生的包指定包版本作为允许的依赖关系,实际上破坏的东西。 你需要在这里阅读文档。

最后,这取决于你的实际使用情况。 如果大多数(或全部)工具都可用作debian软件包,并且这些版本适合您的需求,那么您应该这样做。 如果你需要更多的话,一路跟随gem路线。 在这种情况下,我想在RVM中感兴趣,它允许您独立于底层操作系统来pipe理ruby安装的各个方面。 你甚至可以为多个应用程序安装多个ruby版本和已安装的gem套件。