大家有没有遇到这么一种情况,公司的软件版本远低于当前官方发布的版本,比如说 R / Hadoop 等,自己平时在一个最新版本下写代码,然后部署线上发现出了问题,追查半天发现是函数功能发生一些变化,轻易看不出来。
是不是该有一个文档记录,生产环境的情况,和目前官方最新版本的情况,或者干脆就别在新环境里折腾,直接所有环境和线上保持一致?
Cloud2016
说到是否官方话题,我的安卓手机应用商场,官方GooglePlay比非官方的UptoDown应用商场慢许多...
遇到过,公司追求代码稳定而不是最新,只要能正常运行,没有人有更新新版本的动力,只有遇到bug的时候才解决问题。
即使是个人项目,项目完成以前我也不会轻易升级包。踩过个坑是ggplot2 3.2.1到3.3.0,更新之后旧版本保存的gg对象一直报错,搜错误信息完全没踪影。
如果你跟我一样围观了*down系列踩的上游依赖坑,比如blogdown依赖的hugo,rmarkdown依赖的pandoc,xaringan依赖的remark.js相信你也不会那么喜欢追最新版本了…
其实这个问题python就比R更有自知之明,搞个虚拟环境,让项目在原有环境下复现比较容易。python随着包的升级方法迭代更快。
而系统环境如果始终是老版本,那么在新的项目开发的时候可能就会遇到很多包、方法用不了的问题。
像Hadoop之类的就上Docker吧。