我一直在我的CI环境中构建版本,方法是从源代码控制中检出,在一个干净的目录上运行npm install,然后是npm dedupe && npm shrinkwrap
。这一直很完美。
现在,shrinkwrap会抛出错误:
npm ERR! Problems were encountered
npm ERR! Please correct and try again.
npm ERR! missing: async@^1.4.0, required by handlebars@4.0.6
这不是我的一个依赖项,因此必须是子依赖项。我已经尝试将此依赖项检查到源代码控制中,但它仍会引发相同的错误。
有解决方法吗?我想在将所有东西都迁移到纱线之前至少尝试一下......
答案 0 :(得分:0)
对于我来说,更新到NPM v5时会在收缩包装时解决这个问题。
如果将package-lock.json添加到源代码控制中,更新到NPM v5也会为您提供可重现的构建,这将阻止构建在子依赖项发生变化时失败。