我试图在不同的子进程中安装多个包。并且所有包都有一些共同的依赖(在我的情况下是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.
答案 0 :(得分:1)
适用于npm 2.9.1
尝试升级你的npm
npm install npm@latest -g
答案 1 :(得分:1)
这似乎是npm中一个棘手的错误,很可能是并行任务编写相同package.json的竞争条件。
您可以使用--force
标志来避免缓存(但是在每个版本上下载所有依赖项可能会很慢)。或者等待npm团队实施永久修复。
在Github上观看的相关链接:
https://github.com/Microsoft/vso-agent-tasks/issues/323