windows - 某些 NPM 安装失败并显示 EPERM 50(Gulp 和其他)

标签 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 添加到系统路径中。没有帮助。您可能会说,我修改了我的 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/

相关文章:

javascript - 错误 : Incorrect arguments to mysqld_stmt_execute

c++ - 自旋控制位置问题 (Windows)

node.js - 如何在 npm 启动期间在 Project.js 中解析 'npm ERR! code ELIFECYCLE'

mysql - Node JS和mysql连接不上(客户端不支持服务端请求的认证协议(protocol),考虑升级mysql客户端)

javascript - Nodejs 查找已知蓝牙设备

javascript - 如何将字符集添加到 Knex.js 连接字符串?

node.js - 运行 NodeJS 事件循环/等待子进程完成

c - 使用位域编写 C 结构

linux - 在 windows 上的 db 之间传输数据到 linux

python - 在 ActiveX 小部件中加载 PDF