node.js 报错operation not permitted啥原因

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 环境下即使是在虚拟机也需要带上后面的参数。

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

参考技术A var EventEmitter = require('events').EventEmitter();把最后的小括号去 参考技术B 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,选择命令提示符(管理员),在里面运行命令就好了。

使用npm install报错-4048 operation not permitted解决

 

刚刚使用npm install时一直报错-4048 operation not permitted,也尝试了多种方法,终于使问题得到解决,这里总结几种方法,先贴图: 

一:权限问题

首先看到operation not permitted我们能想到权限问题,所以这时候我们可以以管理员身份运行cmd或者直接快捷键Win+X来打开。

二:依赖包错误

如上图,根据错误日志我们可以明显看到这个错误minimatch版本过低和dashdash错误,我们只要全局安装好这两个包问题就可以得到完美解决。 
当我们在npm install或者通过npm install安装好一些脚手架如vue-cli或者angular-cli等,而后构建项目时报错,我们可以通过错误提示正确全局安装好所需要的依赖包就好了。 
一般在这种情况下我们需要重点看operation not permitted后面这个关键单词和后面的目录。

三:npm版本问题

npm最新版本5.4.0在安装包时有些缺少依赖包,这种情况就需要我们安装低一点的npm版本:npm i -g npm@5.3.0(这里填写你需要的指定版本)。


以上是个人根据自己遇到情况总结的一些方法,当然重点在看自己的错误日志提示。

以上是关于node.js 报错operation not permitted啥原因的主要内容,如果未能解决你的问题,请参考以下文章

使用node.js中fs模块的copyFileSync方法复制文件报错“operation not permitted, copyfile ‘G: est.txt‘ -> ‘G:Trash‘“(代码片

运行node.js报错:Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' } j

node.js使用ini模块读取ini文件报错TypeError: str.split is not a function

使用npm安装包报错“npm WARN npm npm does not support Node.js v17.1.0“

FlinkFlink 任务报错 Could not perform checkpoint for operator

使用npm install报错- operation not permitted解决