

以下のような構築のrootで`npm install`を行おうとしています。

[code]

    root
    moduleA
    moduleB
    
[/code]

[code]

    // root\package.json
    ...
    "devDependencies": {
      "moduleA": "file:../moduleA",
      "moduleB": "file:../moduleB"
    }
    
[/code]

[code]

    // moduleA\package.json
    ...
    "dependencies": {
      "deep-equal": "^1.0.1"  // この deep-equal はほかのどの package でも変わりありません
    }
    
[/code]

[code]

    // moduleB\package.json
    "dependencies": {
      "moduleA": "file:../moduleA"
    }
    
[/code]

結果、以下のようなエラーが出ました。

[code]

    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
    
[/code]

求める動作としては、root以下で`npm install`を行って正常に終了することです。

なぜこのようなエラーが発生するのかが不明です。教えていただけませんでしょうか。

よろしくお願いします。


CC BY-SA 4.0
2019-07-09T06:00:17.967
56508
2019-07-09T06:00:17.967
35033
question
npm
npmでlocalにあるネストされたパッケージをインストールできない