TL;DR
从node v4迁移到node 8时,有没有办法检查npm损坏的包?
长话短说: 我有一个在 node v4 上运行的生产应用程序。我的道德值(value)观正在插入我从v4升级到v8。我知道我的代码不会损坏,但我也想确定我的包。我有暂存环境设置。我可以先在那里设置 Node 8。但我想充满信心,没有什么会被破坏。或者只是我希望过渡顺利。 这样做的最佳做法是什么?
最佳答案
如果您的项目有单元测试(您应该),如果您的测试仍然在 Node 8 上通过,那么您可能没问题。
请注意,Node 8 附带了与之捆绑的 npm v5。您需要确保在测试之前全新安装了 node_modules
(即您应该 rm -rf node_modules
,然后重新安装依赖项)。 npm 5 的依赖关系树比 npm 2(随 Node 4 一起提供)更扁平,因此在极少数情况下,这可能会导致事情崩溃。
当您在 Node 8 上运行全新安装时,请注意任何可能表明出现问题的警告输出,尤其是不兼容的引擎消息。
此外,npm 5 默认情况下会创建 package-lock.json
文件,您可能需要在此处更详细地了解这一点:https://stackoverflow.com/a/44297998/7127751 .
如果您想真正安全,请检查所有依赖项并查看您使用的版本是否正在 Node 8 上进行测试(即检查每个依赖项存储库中的 .travis.yml
文件)。
关于node.js - 检查 npm 包与 Node 最新版本的兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47571617/