我们在生产服务器上使用Ubuntu 12.04 TLS,Ruby 1.9.3,Rails 3.2.12和RVM。
我们希望将Ruby从1.9.3升级到2.2(或者不管最新版本),而不更新Rails。
我有三个问题:
提前致谢!
答案 0 :(得分:3)
总是假定整个机器将被这个过程破坏得无法修复。做好最坏的准备,希望做到最好。如果您没有测试机器,可以使用Vagrant之类的工具构建测试机器。一旦有了可行的程序,就在生产系统上重复它。
Ruby 2.1.1是当前版本。您还希望了解升级Rails本身以避免一堆nasty vulnerabilities。 3.2.17是这里的目标版本。
RVM确实可以更轻松地升级内容,但您还需要升级启动程序(例如Passenger)以使用较新的Ruby版本。是的,可以退出,但这并不总是方便。
可能有助于拯救灾难的一个技巧是将您的/etc
目录检入本地Git存储库。这使您可以回滚所做的任何配置更改,以及查看您在升级过程中实际所做的更改。
对基础Ruby版本的任何更改都需要重新安装所有 gems。如果您使用Bundler或自动部署工具,这应该是相当自动的。