在Gentoo中,开发者倾向于打包宝石.这是通过portage而不是gem安装它们的首选方式.然而,我不知道这是否是正确的方法,因为你总是会丢失重要的项目和他们的依赖项,你要么必须编写自己的ebuild(并不是那么重要)并维护它.在那一点上,我没有看到任何更多的优势,因为一旦我编写了自己的ebuild,我必须密切关注软件包以获得新的开发,因为包装中不会有任何神奇的颠簸. :-)此外,Ruby世界是一个快速移动的目标,并不是所有在dist树中打包的宝石都非常快.
另一方面,直接通过Bundler或直接通过gem包管理器进行安装似乎也有点不稳定.如果您不小心,您可以绕过dists包管理器并拥有两个竞争管理器.例如,dist更新了Ruby 1.9.4并引入了一些特定于dist的特性,并且一些宝石意外中断.然而,他们为自己修补了自己的包装宝石.或者,如果您使用Bundler,项目在依赖项的版本方面往往相当严格,因此,即使可用的安全更新,您也可能无法获得它,因为项目明确指定了一个版本.所以你必须再次手动跳入.
现在,我很感激社区关于正确处理这些事情的方法(TM)以及如何在生产服务器上正确维护Ruby / Ruby on Rails基础和几个项目(包括第三方项目)的意见.
请注意,这不是关于如何部署项目/应用程序.这是关于维护的最佳实践……
解决方法
如果做不到这一点,我认为这是DevOps组织或单人公司的事情?在这种情况下,我会在这样的设置中质疑Gentoo在分发中的选择.使用预编译的软件包和供应商支持在稳定的发行版上构建应用程序.将您的功能集中在一个版本的平台上,并根据需要定期更新它.不要花时间追逐“快速发展”的语言或平台的最新版本,因为这是最好的低效率和最坏的商业冒险的一个秘诀.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。