You need to enable JavaScript to run this app. Github Action Docker容器内Webpack无法写入构建文件问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Github Action Docker容器内Webpack无法写入构建文件问题求助

解决方案

问题根因

报错本质是npm的默认安全机制触发的权限冲突:当npm以root身份执行脚本时,会自动将执行权限降级到nobody用户;而actions/checkout拉取到工作目录的文件默认所有者为root,nobody用户没有对应文件的写入权限,因此Webpack编译过程中生成/修改文件时会触发EACCES报错。你单独用root执行touch命令能成功,是因为没有经过npm的权限降级逻辑,直接用root身份操作文件,自然不会有权限问题。

修复方案

两种方案任选其一即可:

方案1:配置npm禁用自动权限降级(推荐)

直接修改npm的运行规则,root身份执行时不降级权限,不需要修改文件系统权限,适配性更高。
修改后的工作流配置如下:

jobs:
  tests:
    runs-on: ubuntu-latest
    container:
      image: chilio/laravel-dusk-ci:latest

    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-node@v2
    - name: 配置npm权限规则
      run: npm config set unsafe-perm true
    - name: Install
      run: npm install
    - name: Prod
      run: npm run production

方案2:修正工作目录文件所有者

在拉取代码后,将整个工作目录的文件所有权改为当前执行用户,确保所有操作都有读写权限:

steps:
- uses: actions/checkout@v2
- name: 修正工作目录权限
  run: chown -R $(whoami) .
# 后续步骤保持不变

修改配置后重新运行Action即可解决编译写入权限报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 20:45:07