检查 npm 包与 Node 最新版本的兼容性

ait*_*han 4 upgrade node.js npm

长话短说

从节点 v4迁移到节点 8时,有没有办法检查npm 损坏的包

长话短说: 我有一个在节点 v4上运行的生产应用程序。我的道德价值观正在推动我从 v4 升级到 v8。我知道我的代码不会损坏,但我也想确定我的包。我有暂存环境设置。我可以先在那里设置节点 8。但我想充满信心,没有什么会被破坏。或者只是我希望过渡顺利。这样做的最佳做法是什么?

Rya*_*Zim 6

如果您的项目有单元测试(您应该),如果您的测试仍然在 Node 8 上通过,那么您可能没问题。

请注意,Node 8 附带了与之捆绑的 npm v5。您需要确保node_modules在测试之前进行全新安装(即您应该rm -rf node_modules,然后重新安装依赖项)。npm 5 的依赖关系树比 npm 2(随 Node 4 一起提供)更扁平,因此在极少数情况下,这可能会导致事情崩溃。

当您在 Node 8 上运行全新安装时,请注意任何表明出现问题的警告输出,尤其是不兼容的引擎消息。

此外,npm 5package-lock.json默认情况下会创建文件,您可能需要在此处更详细地研究这一点: https: //stackoverflow.com/a/44297998/7127751

如果您想真正安全,请检查所有依赖项并查看您正在使用的版本是否正在 Node 8 上进行测试(即检查.travis.yml每个依赖项存储库中的文件)。