从Github Actions将NPM模块发布到github软件包注册表中?

时间:2019-11-19 15:58:50

标签: github github-actions github-package-registry

到目前为止,我的YML一直根据其他stackoverflow线程+文档添加位:

name: Node install, build and test

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [12.x]
    steps:
      - uses: actions/checkout@v1
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node-version }}
      - name: Create NPMRC
        run: echo "//registry.npmjs.org/:_authToken=${{ secrets.GITHUB_TOKEN }}" > ~/.npmrc
        env:
          NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN}}
      - name: Publish to Github Packages
        run: |
          npm config set _auth $NODE_AUTH_TOKEN
          npm publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN}}

在我的package.json中,我有:

  "publishConfig": {
    "registry": "https://npm.pkg.github.com/"
  },

通过上述配置,我不断获得

E400 Bad Request
Your request could not be authenticated by the Github Pacakges service. Please ensure your access token is valid and has the appropriate scopes configured.

1 个答案:

答案 0 :(得分:1)

您正在将错误的内容写入〜/ .npmrc文件。

应该为//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }},但您正在做//registry.npmjs.org/:_authToken=${{ secrets.GITHUB_TOKEN }}