我目前正在研究
Ruby /
Ruby on Rails作为
Python / Django的替代方案.我的主要问题是,在具有普通dist或Gentoo的Linux上安装Ruby gem和/或Ruby on Rails项目时,最不明确的是什么.
在Gentoo中,开发者倾向于打包宝石.这是通过portage而不是gem安装它们的首选方式.然而,我不知道这是否是正确的方法,因为你总是会丢失重要的项目和他们的依赖项,你要么必须编写自己的ebuild(并不是那么重要)并维护它.在那一点上,我没有看到任何更多的优势,因为一旦我编写了自己的ebuild,我必须密切关注软件包以获得新的开发,因为包装中不会有任何神奇的颠簸. :-)此外,Ruby世界是一个快速移动的目标,并不是所有在dist树中打包的宝石都非常快.
另一方面,直接通过Bundler或直接通过gem包管理器进行安装似乎也有点不稳定.如果您不小心,您可以绕过dists包管理器并拥有两个竞争管理器.例如,dist更新了Ruby 1.9.4并引入了一些特定于dist的特性,并且一些宝石意外中断.然而,他们为自己修补了自己的包装宝石.或者,如果您使用Bundler,项目在依赖项的版本方面往往相当严格,因此,即使可用的安全更新,您也可能无法获得它,因为项目明确指定了一个版本.所以你必须再次手动跳入.
现在,我很感激社区关于正确处理这些事情的方法(TM)以及如何在生产服务器上正确维护Ruby / Ruby on Rails基础和几个项目(包括第三方项目)的意见.
请注意,这不是关于如何部署项目/应用程序.这是关于维护的最佳实践……