2006 年 4 月 3 日星期一

有关冻结、Typo 和 Rails 1.1.1 的好消息

Posted by David

首先来说说有关冻结和 Rails 1.1.1 的好消息

  • 新应用程序将自动绑定至所创建的 Rails 的 gem 版本,使用 config/environment.rb 中的常数 RAILS_GEM_VERSION
  • 现在,您可以使用 rails myapp --freeze 冻结新应用程序,如此一来,它甚至不必依赖可用正确的 gem
  • 现在,您还可以使用标记冻结 Rails,如下所示:rake rails:freeze:edge TAG=rel_1-1-0

因此,有很多好选项来防止您的应用程序将再次因外部升级而遭到攻击。

此外,我们包含了许多其他回归的修复程序。因此,在升级之后,绝大多数应用程序应当只会正常工作(当然,在部署更新之前,您应该始终进行测试)。您也许还有一些不兼容的插件,但是大多数插件作者那时应当有可用的 1.1.x 兼容版本。

如果您有 Typo 2.6.0,则必须冻结

现在来说一说不太令人兴奋的消息:Typo 2.6.0 不支持 Rails 1.1.1。Typo 团队一直在致力于 兼容 1.1.x 的新版本,我一直在恳求他们发布仅在 vendor/rails 中包含 Rails 1.0 的 2.6.1。但是,普通版 2.6.0 安装不支持 1.1.×。

这听起来比实际情况要糟糕,因为补救办法真的很简单:将 Rails 1.0 结帐至 vendor/rails,并且当您的主机不可避免地决定升级至 Rails 1.1.× 时,Typo 一定毫不在意。最简单且容错能力最强的方法是通过 svn 完成。转到您的 Typo 应用程序的根目录并运行

svn export http://dev.rubyonrails.org/svn/rails/tags/rel_1-0-0 vendor/rails

然后重新启动 Typo,您现在就可以避免 gem 更新了。此解毒剂适用于您在共享主机上部署的任何应用程序。在共享主机上简单地浮动在最新的 Rails 上是不安全的,并且永远不安全。务必确保冷静行事并进行冻结。

无论出于什么原因,核心团队对因 1.1.0 版本发布而造成的任何不便致歉。虽然它适用于绝大多数的人群,但是,我们在发布之前确实应该确保得到 Typo 小组的反馈。至少这样我们便可以提前警告大家 2.6.0 根本不协调。

希望这次考验会激励更多的人帮助测试未来的候选发布版本。我们会通过延长测试期限来帮助完成我们的工作,如果您愿意进行测试并报告发现的任何问题,我们将感激不尽。

Rails 1.1.1 本周早些时候

如果希望立刻投入精彩精神,你可以帮助测试主干,旨在本周早期成为 Rails 1.1.1。我们仍然缺少一些修复,但其中已解决几乎所有问题。若为故障安全,移除供应商/rails(如果您有),并运行

svn export http://dev.rubyonrails.org/svn/rails/trunk vendor/rails

谢谢大家!