升级宝石是否会打破旧的Rails应用程序?

时间:2010-01-27 12:23:42

标签: ruby-on-rails ruby gem

我在Rails 1.x上运行了一堆Rails应用程序。我需要升级宝石,所以问题是,升级宝石后,这些旧应用程序是否仍然有效?

谢谢。

4 个答案:

答案 0 :(得分:2)

唯一可以确定的方法是进行测试;那就是说,如果你想在测试时确保应用程序有效,我相信你可以运行

rake rails:freeze:gems

将当前安装的gem复制到项目内的vendor文件夹。如果在测试后,您的项目可以使用较新的版本,请运行

rake rails:unfreeze

返回系统安装的gems版本。

答案 1 :(得分:1)

这取决于。如果您正在谈论升级到包含Rails的最新宝石,那么如果应用程序使用很久以前弃用并随后删除的功能,那么它们将会中断。

唯一可以确定的方法是尝试一下。请注意开发日志中的弃用警告。希望你有合适的测试套件。

答案 2 :(得分:0)

就像任何其他依赖一样。查看每个gem的version number

1.2.3

在这种情况下,1是主要版本。如果这个号码已经改变,那么绝对不要升级。它需要工作才能使用新的。

2是次要版本。如果只有这个数字发生了变化,你应该安全升级,但要小心。做了很多烟雾测试。

3是一个错误修复版本。如果只是改变了,你绝对可以升级。

,这种情况不太可能只在这么久之后发生了变化,但如果是这样的话,你就是安全的。

不幸的是,这些只是指导原则,许多开源项目都没有很好地遵循它们。所以请大家劝告。

答案 3 :(得分:0)

如果您使用rails 1.x运行并升级rails gem,您的应用程序将会中断。 Rails 2.x非常不同。

关于其他宝石,它们可能会破裂。阅读发行说明,通常作者警告向后兼容性。

如果您不想升级,也可以冻结宝石。