症状
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ npm install --save-dev babel-cli npm WARN rollback Rolling back ansi-regex@2.1.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/code/node/test/node_modules/ansi-regex/package.json.2739204596' npm WARN rollback Rolling back ansi-styles@2.2.1 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/code/node/test/node_modules/ansi-styles/package.json.2739791237' npm WARN rollback Rolling back arr-diff@2.0.0 failed (this is probably harmless): ETXTBSY: text file is busy, unlink '/home/vagrant/code/node/test/node_modules/arr-diff/package.json.2336313770' ... npm WARN test@1.0.0 No description npm WARN test@1.0.0 No repository field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: arr-flatten@1.1.0 (node_modules/arr-flatten): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ETXTBSY: text file is busy, rename '/home/vagrant/code/node/test/node_modules/arr-flatten/package.json.285927042' -> '/home/vagrant/code/node/test/node_modules/arr-flatten/package.json' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: arr-diff@2.0.0 (node_modules/arr-diff): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ETXTBSY: text file is busy, rename '/home/vagrant/code/node/test/node_modules/arr-diff/package.json.2336313770' -> '/home/vagrant/code/node/test/node_modules/arr-diff/package.json' ... npm ERR! Maximum call stack size exceeded npm ERR! A complete log of this run can be found in: npm ERR! /home/vagrant/.npm/_logs/2018-06-09T05_33_05_986Z-debug.log |
原因
Vagrantの共有ディレクトリで実行した場合に発生する。ゲストOSのローカルディレクトリだと発生しない。これから推測するに、共有ディレクトリが引き継いでいるホストOSのファイルシステムの特性が悪さしているのではないかと思われる。シンボリックリンクの可否とかパスの長さ制限とか?
対策
Vagrantの共有ディレクトリじゃないローカルディレクトリで実行する。
参考サイト
npm ERR! code ETXTBSY · Issue #9979 · npm/npm · GitHub
https://github.com/npm/npm/issues/9979#issuecomment-149308728