当前位置: 首页 > 后端技术 > Node.js

npm安装时提示无权限运行解决方案Error-EACCES-permissiondenied

时间:2023-04-03 15:56:12 Node.js

npm安装时提示无权限运行解决方案Error:EACCES:permissiondeniedNotenough,因为root用户之前安装了npm在本地打包,留下root拥有的文件,导致普通用户无法访问root的文件内容。报错日志如下:npmERR!路径/Users/Kyle/.npm/_cacache/index-v5/d8/1f/98ab242d0cbad080828ef3e3f4b864c25e506a719121c293fec810b14b3cnpm错误!代码EACCESnpm错误!错误号-13npm错误!系统调用opennpm错误!错误:EACCES:权限被拒绝,打开'/Users/Kyle/.npm/_cacache/index-v5/d8/1f/98ab242d0cbad080828ef3e3f4b864c25e506a719121c293fec810b14b3c'npmERR!{[错误:EACCES:权限被拒绝,打开'/Users/Kyle/.npm/_cacache/index-v5/d8/1f/98ab242d0cbad080828ef3e3f4b864c25e506a719121c293fec810b14b3c']npmERR!原因:npm错误!{错误:EACCES:权限被拒绝,打开'/Users/Kyle/.npm/_cacache/index-v5/d8/1f/98ab242d0cbad080828ef3e3f4b864c25e506a719121c293fec810b14b3c'npmERR!错误号:-13,npm错误!代码:'EACCES',npm错误!系统调用:'打开',npm错误!路径:npm错误!'/Users/Kyle/.npm/_cacache/index-v5/d8/1f/98ab242d0cbad080828ef3e3f4b864c25e506a719121c293fec810b14b3c'},npm错误!isOperational:true,npm错误!堆栈:npm错误!'错误:EACCES:权限被拒绝,打开\'/Users/Kyle/.npm/_cacache/index-v5/d8/1f/98ab242d0cbad080828ef3e3f4b864c25e506a719121c293fec810b14b3c\'',npmERR!错误号:-13,npm错误!代码:'EACCES',npm错误!系统调用:'打开',npm错误!路径:npm错误!'/Users/Kyle/.npm/_cacache/index-v5/d8/1f/98ab242d0cbad080828ef3e3f4b864c25e506a719121c293fec810b14b3c',npm错误!父母:'findup-sync'}npm错误!错误!该操作被您的操作系统拒绝。npmERR!您可能没有作为当前用户npmERR访问此文件的权限!错误!如果您认为这可能是权限问题,请仔细检查thenpmERR!文件及其包含目录的权限,或尝试运行npmERR!再次以root/Administrator身份执行命令(尽管不推荐这样做)。npmERR!可以在以下位置找到此运行的完整日志:npmERR!/Users/Kyle/.npm/_logs/2019-03-26T07_00_54_812Z-debug.log错误原因:找到报错的文件,会看到它的所有人是root之前本地安装操作是用root进行的,导致这个文件的属主是root,包括.npm文件夹下的一些文件夹的属主也是root。当然,普通用户是没有访问权限的。会报权限错误。解决方法是将用户目录下的.npm文件夹的所有权更改为当前用户。例如:当前用户名为Kylesudochown-RKyle~/.npm,执行后输入root密码,文件所有权已经更改为当前用户,不会再出现该操作。全局安装时提示权限问题也是之前安装全局功能时使用root用户导致的问题。对于macOS用户,全局安装的包安装在/usr/local/lib/node_modules中,将此文件夹的属主更改为当前用户为chown-R当前用户名/usr/local/lib/node_modules学者使用终端时的注意事项为了操作npm,他们经常混合root用户和普通用户。出现乱用root的问题,是因为分不清全局安装和本地安装的区别。作为普通用户,无需使用root