繁体   English   中英

在生产中将Ruby版本更新到更新(最新)?

[英]Updating Ruby version to newer (latest) on production?

我们在生产服务器上使用Ubuntu 12.04 TLS,Ruby 1.9.3,Rails 3.2.12和RVM。

我们希望将Ruby从1.9.3升级到2.2(或者不管是最新的),而不更新Rails。

我有三个问题:

  1. 这样做有什么警告,任何不一致,弃用的方法? 网站是否有可能停止工作?
  2. 考虑到我们正在使用RVM,是否有可能回到我们现在使用的版本(如果出现任何问题)?
  3. 是否有必要重新安装我们现在正在使用的所有宝石?

提前致谢!

总是假设整个机器将被这个过程破坏得无法修复。 做好最坏的准备,希望做到最好。 如果您没有测试机器,可以使用Vagrant等工具构建测试机器。 一旦有了可行的程序,就在生产系统上重复它。

Ruby 2.1.1是当前版本。 您还需要了解升级Rails本身以避免一堆令人讨厌的漏洞 3.2.17是这里的目标版本。

RVM确实可以更容易地升级,但是你还需要升级你的启动器(例如Passenger)以使用更新的Ruby版本。 是的,可以退出,但这并不总是方便的。

可能有助于拯救灾难的一个技巧是将/etc目录检查到本地Git存储库。 这允许您回滚所做的任何配置更改,以及查看您在升级过程中实际所做的更改。

对基础Ruby版本的任何更改都需要重新安装所有 gem。 如果您使用的是Bundler或自动部署工具,这应该是相当自动的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM