node.js 报错operation not permitted什么原因

如题所述

前言

最近发现了一个问题,运行 npm install 命令安装依赖包,在 Mac 上的 Vagrant 装的虚拟机上没问题,在阿里云 CentOS 上也没问题,但是在 Windows 环境同样是 Vagrant 装的环境相同的虚拟机上就是不成功,报错如下:

?

1

npm ERR! Error: EPERM: operation not permitted, rename ‘/usr/share/nginx/html/tanteng.me/node_modules/duplexify' -> ‘/usr/share/nginx/html/tanteng.me/node_modules/.duplexify.DELETE'

之前遇到过 Windows 上 npm 安装依赖出现 symbol 的错误,解决方法是 sudo npm install –no-bin-links,加后面的参数即可。

列出 Node.js 的安装目录,目录的权限属性如图:

这里执行命令:

?

1

sudo chown vagrant:vagrant n node npm

记住还要清除 npm 缓存:

?

1

npm cache clean

再次执行 sudo npm install –no-bin-links,Windows 环境下即使是在虚拟机也需要带上后面的参数。

好了,这个时候问题就解决。以上就是这篇文章的全部内容了,希望本文能对同样遇到这个问题朋友们有所帮助。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-04
var EventEmitter = require('events').EventEmitter();把最后的小括号去本回答被网友采纳
第2个回答  2017-12-31
windows系统下使用node.js在使用npm安装express时报错的解决方法
安装时出现如下错误
C:\Users\admin>npm uninstall express -g
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "uninstall" "express" "-g"
npm ERR! node v6.9.1
npm ERR! npm v3.10.8
npm ERR! path C:\Program Files\nodejs\node_cache\_locks
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall mkdir

npm ERR! Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_cache\_locks'
npm ERR! at Error (native)
npm ERR! { Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_cache\_locks'
npm ERR! at Error (native)
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'mkdir',
npm ERR! path: 'C:\\Program Files\\nodejs\\node_cache\\_locks' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR! C:\Users\admin\npm-debug.log

重点是:operation not permitted 想到应该是windows系统下的权限错误。
解决方法: 使用win+x,选择命令提示符(管理员),在里面运行命令就好了。
相似回答