React.js执行npm start报错:[eslint] EACCES权限拒绝,无法创建缓存目录
解决macOS下React项目npm start时ESLint的EACCES权限错误
出现[eslint] EACCES: permission denied, mkdir '/Users/mac/Desktop/my-app/node_modules/.cache'错误,本质是node_modules目录或目标缓存目录的权限归属异常,以下是几种可行的解决方法:
修复目录所有权
- 终止当前运行的npm进程
- 执行命令修改node_modules目录的所有者为当前用户:
sudo chown -R $USER:$USER /Users/mac/Desktop/my-app/node_modules - 如果已存在损坏的.cache目录,先删除:
rm -rf /Users/mac/Desktop/my-app/node_modules/.cache - 重新运行
npm start
清理缓存并重装依赖
- 终止npm进程
- 强制清理npm缓存:
npm cache clean --force - 删除node_modules目录和package-lock.json文件:
rm -rf node_modules package-lock.json - 重新安装依赖:
npm install - 再次启动项目:
npm start
临时禁用ESLint(仅用于测试验证)
如果需要快速验证是否为ESLint权限问题,可临时禁用插件启动项目:DISABLE_ESLINT_PLUGIN=true npm start
注意:日常操作中避免使用sudo执行npm命令,否则极易引发目录权限混乱问题。
内容的提问来源于stack exchange,提问作者Shodiyorbek Nabijonov
相关产品推荐
相关产品推荐

