我在Rails 1.x上运行了一堆Rails应用程序。我需要升级宝石,所以问题是,升级宝石后,这些旧应用程序是否仍然有效?
谢谢。
答案 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非常不同。
关于其他宝石,它们可能会破裂。阅读发行说明,通常作者警告向后兼容性。
如果您不想升级,也可以冻结宝石。