我有几个侧面项目要么仍在开发中,要么为朋友和家人而活。例外(modulecounts.com)非常简单。
在工作中,在一个更大的组织中,似乎我们总是制定规则来反对更新宝石。它成为一个特定冲刺的故事。它必须与Ops协调,以确保他们准备好更新生产环境等。
当我是唯一的开发者时,所有协调开销都消失了,但更新宝石仍有风险。也许这些新版本不会正常工作。
所以...总是这样做更好吗?用“gem update”开始每个开发会话并从那里开始?或者我应该等到我即将上线并进行一次重大更新,希望在后端丢失的任何时间都可以弥补在整个开发过程中没有多少时间损失的时间?
你做什么的?什么是幸福的媒介?
答案 0 :(得分:3)
更频繁更新宝石的好处是可以获得改进。例如,安全性改进或速度改进。此外,这意味着您的代码更新,通常更容易找到更新的宝石版本的文档。此外,保持您的宝石更新意味着您正在使用较新版本的API,例如Facebook或Twitter。使用较新的API可以提高速度并保持领先于弃用。当然,正如你所指出的,这有不足之处,重要的是要记住这一点。以下是我想要遵循的几个指示:
我的偏好是尽可能保持与宝石的最新状态,同时确保不断升级不会妨碍我的开发。我尝试按照适用于我的团队的计划升级,例如每两周升级一次,同时密切关注安全升级。它还有助于自动设置生产环境。 Bundler非常适合这一点,因为您的Gemfile.lock可以确保您的生产环境与开发环境运行相同的gem。
答案 1 :(得分:0)
我不认为每次开始工作都会有一个令人信服的论据,除非你想开始修复与更新的宝石不兼容的工作。
当我正在开发某些东西时,我通常每周或每两周更新一次。我宁愿不推出过时的第三方代码。但是,一旦它投入生产,审查宝石更新所需的工作量使我不太可能想要更新。有时你的测试不会发现变化的东西,然后你也不会。
作为一个幸福的媒介,如果它是你的项目并且相对安全地更新,那么经常这样做,但不要强迫自己每天都这样做。如果它是一个生产应用程序,你有更高的机会破坏某些东西,或者你在团队中工作,除非你真的需要,否则要更加谨慎。
哦,我投票认为只要您阅读发行说明并进行所需的更改,Rails等人在任何时候都可以更新。