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

在GitHub Actions中无法安装私有npm包求助

解决GitHub私有npm包安装404问题

你的核心问题是:npm默认去npmjs.org拉取你的私有包,但你的包实际托管在GitHub Packages(组织私有包),所以才会出现404错误。下面是两种正确的配置方案:

方案一:使用actions/setup-node官方配置

直接通过setup-node指定GitHub Packages的registry和组织scope,无需手动修改.npmrc:

jobs:
  build-dev:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: "18.x"
          # 指定GitHub Packages的npm registry地址
          registry-url: "https://npm.pkg.github.com/"
          # 绑定你的组织scope
          scope: "@MYORG"
      - name: 安装依赖并构建
        run: |
          npm ci
          npm run build-dev
        env:
          # 传入GitHub PAT令牌
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

方案二:手动配置.npmrc

如果需要更灵活的配置,可以直接写入.npmrc,关键是给组织scope指定对应的GitHub registry:

jobs:
  build-dev:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 18.x
      - name: 配置npm访问私有包
        run: |
          # 告诉npm @MYORG的包从GitHub Packages拉取
          echo "@MYORG:registry=https://npm.pkg.github.com/" >> .npmrc
          # 给GitHub registry配置认证令牌
          echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
      - name: 安装依赖并构建
        run: |
          npm ci
          npm run build-dev

额外检查项

  • 确认你的NPM_TOKEN是GitHub个人访问令牌(PAT),且已勾选read:packages权限,同时该令牌拥有目标私有包所在仓库的读取权限
  • 登录GitHub组织的Packages页面,确认@MYORG/ui-package的1.0.0版本确实存在
  • 检查项目package.json中的依赖声明,确保包名、版本号完全正确(比如没有拼写错误)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 04:50:01