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

时间:2014-11-04 16:44:27

标签: 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时遇到同样的问题。

3 个答案:

答案 0 :(得分:5)

我遇到了同样的问题,并发现这些命令行标志似乎无需禁用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

答案 1 :(得分:4)

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

答案 2 :(得分:0)

我遇到了同样的问题,我可以通过使用RUN AS ADMINISTRATOR OPTION打开命令提示符或GIT Bash来解决这个问题。

步骤1:右键单击cmd.exe(在windows中搜索cmd)或GIT Bash。

第2步:单击以管理员身份运行。

步骤3:执行> npm install 命令