尝试 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
添加到系统路径中。没有帮助。您可能会说,我修改了我的 NPM 缓存的位置,认为默认情况下它所在的文件夹可能存在某种权限问题。那里也没有帮助。我试过添加 --no-bin-links 选项,但没有帮助。我真的不知道是什么导致了这个问题。尝试在全局或本地安装 slush-mongo
时遇到同样的问题。
最佳答案
我遇到了同样的问题,发现这些命令行标志似乎无需禁用 AV 即可修复它:
npm install --cache-lock-retries 1000 --cache-lock-wait 100000
您可以通过运行以下命令更改默认值(因此您不需要每次都添加命令行选项):
npm config set cache-lock-retries 1000
npm config set cache-lock-wait 100000
关于windows - 某些 NPM 安装失败并显示 EPERM 50(Gulp 和其他),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26740488/