npm使用嵌套项目结构重命名错误

时间:2019-02-07 15:23:22

标签: javascript node.js npm

我有一个NodeJS项目,其中嵌套了带有自己的package.json的子项目。如果我更改了子项目中的任何依赖项,我将得到如下错误:

npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall rename
npm ERR! enoent ENOENT: no such file or directory, rename '/home/travis/build/phylogeny-explorer/explorer/node_modules/.staging/user-api-9886b2c7/node_modules/basic-auth' -> '/home/travis/build/phylogeny-explorer/explorer/node_modules/.staging/basic-auth-38c0f109'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent 

即使删除package-lock.json和node_modules,它们仍然存在。根据运行的位置,.staging/basic-auth-38c0f109部分最后更改程序包名称和哈希值。即使在Travis CI运行中,我也观察到了此错误-https://travis-ci.org/phylogeny-explorer/explorer/builds/488195843

更改根级别依赖项可以正常工作,没有错误。

它看起来像一些通天塔自动生成的东西,但是我不知道怎么了。

相关项目的代码位于https://github.com/phylogeny-explorer/explorer

1 个答案:

答案 0 :(得分:0)

这是https://github.com/npm/cli/pull/86

修复的错误

如果遇到此问题,请将您的npm更新到v6.8.0-next.2。