npmでlocalにあるネストされたパッケージをインストールできない
以下のような構築のrootでnpm install
を行おうとしています。
root
moduleA
moduleB
// root\package.json
...
"devDependencies": {
"moduleA": "file:../moduleA",
"moduleB": "file:../moduleB"
}
// moduleA\package.json
...
"dependencies": {
"deep-equal": "^1.0.1" // この deep-equal はほかのどの package でも変わりありません
}
// moduleB\package.json
"dependencies": {
"moduleA": "file:../moduleA"
}
結果、以下のようなエラーが出ました。
PS C:\[...]\root> npm i
npm WARN rollback Rolling back deep-equal@1.0.1 failed (this is probably harmless): C:\Users\180245\nestedCheck\moduleA\node_modules\deep-equal is not a child of C:\Users\180245\nestedCheck\root
npm WARN root@1.0.0 No repository field.
npm ERR! path C:\Users\180245\nestedCheck\root\node_modules\.staging\deep-equal-91c42369
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall rename
npm ERR! enoent ENOENT: no such file or directory, rename 'C:\Users\[...]\root\node_modules\.staging\deep-equal-91c42369' -> 'C:\Users\[...]\moduleA\node_modules\deep-equal'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! C:\[...]\AppData\Roaming\npm-cache\_logs\2019-07-09T05_51_30_168Z-debug.log
求める動作としては、root以下でnpm install
を行って正常に終了することです。
なぜこのようなエラーが発生するのかが不明です。教えていただけませんでしょうか。
よろしくお願いします。