多个npm安装失败(EPERM错误)

我试图安装在不同的subprocess中的多个包。 而所有的软件包都有一些共同的依赖(在我的情况下是browserify)。

example | |_pkg1 | |_browserify | |_pkg2 | |_browserify | |_pkg3 | |_browserify | |_run.js 

run.js:

 var packages = ['pkg1', 'pkg2', 'pkg3']; packages.forEach(function(pkg){ exec('npm install ./' + pkg); }); 

node run.js失败,日志

  npm ERR! Windows_NT 6.3.9600 npm ERR! argv "c:\\Program Files\\nodejs\\\\node.exe" "c:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "i nstall" "./pkg3" npm ERR! node v0.12.2 npm ERR! npm v2.7.4 npm ERR! path C:\Users\Artem\AppData\Roaming\npm-cache\acorn\0.9.0\package\package.json npm ERR! code EPERM npm ERR! errno -4048 npm ERR! Error: EPERM, rename 'C:\Users\Artem\AppData\Roaming\npm-cache\acorn\0.9.0\package\package.json' npm ERR! at Error (native) npm ERR! { [Error: EPERM, rename 'C:\Users\Artem\AppData\Roaming\npm-cache\acorn\0.9.0\package\package.json'] npm ERR! errno: -4048, npm ERR! code: 'EPERM', npm ERR! path: 'C:\\Users\\Artem\\AppData\\Roaming\\npm-cache\\acorn\\0.9.0\\package\\package.json', npm ERR! parent: 'syntax-error' } npm ERR! npm ERR! Please try running this command again as root/Administrator. 

例如: https : //github.com/SakerONE/multiple-npm-install

适用于npm 2.9.1

试着升级你的npm

npm install npm@latest -g

这在npm中似乎是一个棘手的错误,最有可能的是,编写相同package.json的并行任务的竞争条件。

您可以使用--force标志来避免缓存(但可能会下载每个构建中的所有依赖项)。 或等待npm团队实施永久性修复。

相关链接Github上观看:

https://github.com/Microsoft/vso-agent-tasks/issues/323

https://github.com/npm/npm/issues/2500

https://github.com/npm/npm/issues/9696