TL; DR
从节点v4 迁移到节点8 时,是否可以检查 npm已损坏软件包?
长篇故事: 我有一个在节点v4上运行的生产应用程序。我的道德价值观正推动我从 v4升级到v8 。我知道我的代码不会破坏,但我也想确定我的代码。我有 staging env 设置。我可以先在那里设置节点8 。然而,我希望完全有信心,没有任何事情会破裂。或者只是我希望过渡顺利。 这样做的最佳做法是什么?
答案 0 :(得分:3)
如果您有项目的单元测试(您应该),如果您的测试仍然在节点8上传递,那么您可能没问题。
请注意,Node 8附带了与它捆绑的npm v5。您需要确保在测试之前完全安装node_modules
(即您应rm -rf node_modules
,然后重新安装依赖项)。 npm 5的依赖树比npm 2(Node 4附带)更平坦,因此在极少数情况下会导致事情中断。
当您在节点8上运行全新安装时,请注意任何表示存在问题的警告输出,尤其是对于不兼容的引擎消息。
此外,默认情况下,npm 5会创建package-lock.json
个文件,您可能需要在此详细查看:https://stackoverflow.com/a/44297998/7127751。
如果您想要非常安全,请检查所有依赖项,看看您正在使用的版本是否正在节点8上进行测试(即检查每个依赖项存储库中的.travis.yml
文件)。