You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React应用部署到Azure后出现EACCES eslintcache权限错误无法编译求助

React 部署 Azure 平台 ESLint 缓存权限报错解决方案

问题说明

该错误为Azure Linux环境部署React项目的典型权限类问题,发生在构建阶段ESLint写入缓存文件时,当前执行用户没有/home/site/wwwroot/node_modules/.cache/目录的写入权限,错误详情如下:

EACCES: permission denied, open '/home/site/wwwroot/node_modules/.cache/.eslintcache'
报错截图

可行解决方案

方案1:禁用ESLint缓存(最便捷)

直接修改项目package.json中的构建命令,关闭ESLint缓存生成逻辑,从根源上避免缓存文件写入操作:

{
  "scripts": {
    // 原build命令替换为下方内容
    "build": "DISABLE_ESLINT_PLUGIN=true react-scripts build"
  }
}

如果使用的是vite等非react-scripts脚手架,可在ESLint配置文件中添加cache: false配置关闭缓存

方案2:部署阶段自动配置缓存目录权限

如果需要保留ESLint缓存功能,可在依赖安装完成后自动给缓存目录开放写入权限:
在package.json中新增postinstall钩子脚本:

{
  "scripts": {
    "postinstall": "mkdir -p node_modules/.cache && chmod -R 777 node_modules/.cache"
  }
}

方案3:自定义容器部署权限配置

如果使用Docker容器部署,可在Dockerfile中提前给运行用户配置目录权限,避免运行时权限不足:

# 提前创建缓存目录并授权
RUN mkdir -p /home/site/wwwroot/node_modules/.cache
RUN chown -R node:node /home/site/wwwroot/node_modules
# 切换为非root用户运行应用
USER node

内容的提问来源于stack exchange,提问作者Caleb Igwe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:27:04