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

Cloudflare Pages部署Docker化Vue/Vite应用遇EACCES权限错误求助

原因分析
  1. Cloudflare Pages构建环境权限调整:近期Cloudflare可能更新了构建容器的默认运行用户,从root改为非特权用户,导致该用户无权限在系统顶级目录/app下创建文件夹。
  2. pnpm默认路径冲突:pnpm默认会尝试在全局路径(如/app)存储依赖缓存,当前构建用户没有该路径的写入权限,触发EACCES错误。
解决方法
  • 配置pnpm使用项目内存储目录:
    在项目根目录创建.pnpmrc文件,添加以下内容:

    store-dir=./.pnpm-store
    

    这样pnpm会将依赖缓存放在项目目录内,无需访问系统级路径。

  • 修改构建命令显式指定缓存路径:
    在Cloudflare Pages的构建配置中,将构建命令修改为:

    pnpm install --store-dir ./.pnpm-store && pnpm run build
    

    强制pnpm使用项目内的缓存目录,避开权限问题。

  • 设置pnpm环境变量:
    在Cloudflare Pages的环境变量设置中添加:

    • 变量名:PNPM_HOME
    • 变量值:./.pnpm-home
      让pnpm的可执行文件和缓存都存放在项目目录内,避免系统路径权限限制。
  • 检查项目构建上下文:
    如果项目中存在Dockerfile,确认WORKDIR指令是否设置为/app,若无需在Cloudflare构建中使用Docker,可尝试暂时注释该指令,或调整为项目内的相对路径(如WORKDIR ./app)。

内容的提问来源于stack exchange,提问作者anti-destin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 05:42:07