某些NPM安装因EPERM 50而失败(Gulp等)

Mat*_*nar 6 windows node.js npm

在尝试npm安装某些模块时,我继续在Windows 7上获得权限错误.例如,gulp的全局安装结果如下:

c:\Users\abc\Documents\uniform\UniServer\www\ur>npm install -g gulp
/
> v8flags@1.0.1 install C:\Users\abc\AppData\Roaming\npm\node_modules\gulp\node_modules\v8flags
> node fetch.js

flags for v8 3.14.5.9 cached.
npm ERR! Error: EPERM, open 'C:\Users\abc\Documents\uniform\UniServer\www\npmcache\c14291c8-che-
ansi-regex-0-2-1-package-tgz.lock'
npm ERR!  { [Error: EPERM, open 'C:\Users\abc\Documents\uniform\UniServer\www\npmcache\c14291c8-
che-ansi-regex-0-2-1-package-tgz.lock']
npm ERR!   errno: 50,
npm ERR!   code: 'EPERM',
npm ERR!   path: 'C:\\Users\\abc\\Documents\\uniform\\UniServer\\www\\npmcache\\c14291c8-che-ans
i-regex-0-2-1-package-tgz.lock' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\n
pm\\bin\\npm-cli.js" "install" "-g" "gulp"
npm ERR! cwd c:\Users\abc\Documents\uniform\UniServer\www\ur
npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.28
npm ERR! path C:\Users\abc\Documents\uniform\UniServer\www\npmcache\c14291c8-che-ansi-regex-0-2-
1-package-tgz.lock
npm ERR! code EPERM
npm ERR! errno 50
npm ERR! stack Error: EPERM, open 'C:\Users\abc\Documents\uniform\UniServer\www\npmcache\c14291c
8-che-ansi-regex-0-2-1-package-tgz.lock'
npm ERR! not ok code 0

以管理员身份运行cmd时出现此错误.我在其他SO帖子中读到这可能代表了一个缺失的程序.git是安装和工作所以它不是那样的.bower已安装并正常运行.我已经尝试添加c:\windows\system32到系统PATH.没有帮助.正如您可能知道的那样,我修改了我的NPM缓存的位置,认为默认情况下它所在的文件夹可能存在某种权限问题.也没有帮助.我已经尝试添加--no-bin-links选项,但没有帮助.我真的不知道是什么导致了这个问题.尝试slush-mongo在全局或本地安装时遇到同样的问题.

aro*_*101 5

我有同样的问题,发现这些命令行标志似乎修复它而不必禁用AV:

npm install --cache-lock-retries 1000 --cache-lock-wait 100000
Run Code Online (Sandbox Code Playgroud)

您可以通过运行以下命令更改默认值(因此您不需要每次都添加命令行选项):

npm config set cache-lock-retries 1000
npm config set cache-lock-wait 100000
Run Code Online (Sandbox Code Playgroud)


Mat*_*nar 4

事实证明,实际上是我们公司的防病毒软件造成的。我们尝试排除 node.exe 和我们的工作目录,但两者都不够。我们必须禁用 AV 软件,执行安装,然后重新启用 AV。