Error: EACCES: permission denied, open

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):

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

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用
Node.js ENOTDIR错误解决方案,ENOTDIR: not a directory, opendir
上一篇 2023年11月01日 10:44
下一篇 2023年11月01日 10:55

相关文章

  • 启动node服务报错Error: listen EACCES: permission denied 0.0.0.0:5000

    启动node服务报错: 解决方案: 将监听端口改成3000或者其他 修改后结果: 参考原文: Error: listen EACCES: permission denied_error when starting dev server: error: listen eacc-CSDN博客

    2024年02月22日
    浏览(27)
  • Error: EACCES: permission denied, rename ‘/usr/local/lib/node_modules/appium‘

    在使用npm uninstall -g appium卸载appium的过程中报错 1、首先检查谁拥有该目录 它拒绝访问,因为 node_module 文件夹下的appium归 root 所有    因此需要通过将 root 更改为您的用户来更改此设置,但首先运行下面的命令来检查您当前的用户如何通过 OS X 中的命令行获取活动用户的名称

    2024年02月12日
    浏览(22)
  • Error: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/@vue‘ Vue cli工具安装报错

    mac本安装报错:Error: EACCES: permission denied, mkdir \\\'/usr/local/lib/node_modules/@vue\\\' 原因是没有权限的问题! Error: EACCES: permission denied, mkdir \\\'/usr/local/lib/node_modules/@vue\\\' 错误:EACCES:权限被拒绝,mkdir\\\'/usr/local/lib/node_modules/@vue\\\' 在命令行前面添加 sudo 获取管理员权限 ,输入管理员密码就行。

    2024年02月12日
    浏览(20)
  • 解决在Mac下使用npm报错:Error: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/@vue‘

    详细如下: 原因说明:没有足够的权限在 /usr/local/lib/node_modules 目录下创建文件夹 这个错误表明你在安装或更新 Vue.js(@vue)包时,没有足够的权限在 /usr/local/lib/node_modules 目录下创建文件夹。 这通常是因为默认情况下,普通用户没有权限在 /usr/local/lib 目录中进行写入操作。

    2024年02月08日
    浏览(44)
  • Error: listen EACCES: permission denied

    使用npm run dev 运行vue项目的时候遇到以下错误: 如果修改默认的5173端口,尝试不同端口,可以启动成功。 具体方法:修改package.json中的dev选项, 如下使用3000端口启动 使用管理员身份运行PowerShell 停止winnat服务:net stop winnat 启动winnat服务:net start winnat “winnat” 服务在 Wi

    2024年02月14日
    浏览(31)
  • vscode报错 Error: EACCES: permission denied, open...

    目录 问题描述 解决方法:修改文件权限 用vscode远程连接Linux服务器,把本地文件夹拖到服务器目录下时出现报错: 通过翻译可知,这里是由于没有权限而报错 退到上一层,在linux中输入 chmod 777 文件/目标名 ,修改文件的使用权限以达到拥有权限修改 比如,我创建的一个u

    2024年02月11日
    浏览(21)
  • Linux: Error: EACCES: permission denied Linux 解决方法

    原因:Linux终端创建文件夹无权限。 解决方法:输入命令 sudo chmod -R 777 /工作目录 例如: sudo chmode -R 777 /home/HDD sudo:是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。 -R:是指几连医用到目录里所有子目录和文件; 777:是指所有用

    2024年02月03日
    浏览(27)
  • listen EACCES : permission denied 127.0.0.1:80错误解决方法

    1.listen EACCES : permission denied 127.0.0.1:80错误原因   端口已被占用,说明有其他项目运行的是80端口   2.终端执行命令  netstat -ano   查看电脑正在执行的任务  3.任务管理器结束任务  找到对应的结束  

    2024年02月02日
    浏览(20)
  • Jenkins构建时报错Error: EACCES: permission denied, open ‘/root/.npmrc解决

    在使用Jenkins进行自动化构建时,你可能会遇到权限问题,如“Error: EACCES: permission denied, open ‘/root/.npmrc’”。这类问题通常与文件访问权限有关。本文将详细介绍如何识别和解决这些权限问题,确保你的自动化构建过程顺畅无阻。 在Jenkins的构建过程中,如果遇到权限拒绝的

    2024年04月14日
    浏览(17)
  • error when starting dev server:Error: listen EACCES: permission denied 0.0.0.0:80 at Server.set

    error when starting dev server: Error: listen EACCES: permission denied 0.0.0.0:80     at Server.setupListenHandle [as _listen2] (node:net:1313:21)     at listenInCluster (node:net:1378:12)     at Server.listen (node:net:1465:7) 使用 cnpm install 可以 mac 改成 8090 好了 mac终端查看端口命令 查看 端口所在线程 lsof -i:4700 $ lsof -

    2024年02月09日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包