共计 1111 个字符,预计需要花费 3 分钟才能阅读完成。
EACCES 当尝试以访问权限禁止的方式访问文件时,经常会遇到此错误。当您尝试安装全局 NPM 包(取决于您安装 Node.js 和 的方式 npm),或者当您尝试在低于 1024 的端口上运行服务器时,您也可能会遇到此错误。
fs.readFile('/etc/sudoers', (err, data) => {if (err) throw err;
console.log(data);
});
上述代码如果输出错误。
[Error: EACCES: permission denied, open '/etc/sudoers'] {
errno: -13,
code: 'EACCES',
syscall: 'open',
path: '/etc/sudoers'
}
解决方案
本质上,此错误表明执行脚本的用户没有访问资源所需的权限。一个快速修复方法是在脚本执行命令前加上前缀,sudo 以便以 root 身份执行,但 出于安全原因,这是一个坏主意。
chown 对于此错误,正确的修复方法是为执行脚本的用户提供所需的权限,以便在 Linux 上(如果是文件或目录)通过命令访问资源。
sudo chown -R $(whoami) /path/to/directory
如果 EACCES 尝试侦听低于 1024 的端口时遇到错误,可以使用更高的端口并通过 设置端口转发 iptables。以下命令将前往端口 80 的 HTTP 流量转发到端口 8080(假设您的应用程序正在侦听端口 8080): 文章来源:https://www.toymoban.com/diary/nodejs/494.html
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
如果您 EACCES 在尝试安装全局 npm 包时遇到错误,通常意味着您安装了 npm 系统存储库中找到的 Node.js 和版本。建议的操作过程是卸载这些版本,然后通过 NVM 或 Volta 等 Node 环境管理器重新安装它们。 文章来源地址 https://www.toymoban.com/diary/nodejs/494.html
到此这篇关于 Error: EACCES: permission denied, open 的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!
原文地址:https://www.toymoban.com/diary/nodejs/494.html
如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!