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

为什么GitHub Action推送Docker镜像到GHCR时报write_package权限错误?

GHCR镜像推送write_package权限报错修复方案

这个报错denied: permission_denied: write_package的核心原因是工作流调用的默认GITHUB_TOKEN缺少对应容器仓库的包写入权限,按照以下步骤依次排查即可:

1. 显式配置工作流令牌权限

GitHub Actions默认的GITHUB_TOKEN不会默认开通包写入权限,你需要在工作流YAML中显式声明权限配置,可以在文件顶层(和on、jobs字段同级)或者对应作业的层级添加如下配置:

permissions:
  contents: read # 用于拉取仓库代码的基础权限
  packages: write # 推送GHCR容器镜像的必需权限

配置完成后重新运行工作流,绝大多数场景下该问题会直接解决。

2. 配置容器包的仓库访问权限

如果添加权限配置后仍然报错,说明你的GHCR容器包没有开放当前代码库的写入权限,操作如下:

  • 进入对应组织的GitHub主页,打开「Packages」标签页,找到你要推送的镜像包(本次报错对应的是webrtc)
  • 进入包详情页,点击右侧的「Settings」进入包设置界面
  • 找到「Manage Actions access」区域,点击「Add repository」按钮
  • 搜索你要推送镜像的目标代码库,添加完成后将该仓库的权限等级设置为「Write」

3. 检查仓库全局Actions权限

如果上述两步操作完成后仍存在报错,检查代码库本身的Actions权限限制:

  • 进入对应代码库的「Settings > Actions > General」页面
  • 下拉找到「Workflow permissions」板块
  • 确认勾选了「Read and write permissions」选项,确保工作流令牌拥有包写入的基础权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:48:03