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

Mic*_*elB 3 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}}

Run Code Online (Sandbox Code Playgroud)

在我的 package.json 中,我有:

  "publishConfig": {
    "registry": "https://npm.pkg.github.com/"
  },
Run Code Online (Sandbox Code Playgroud)

通过上面的配置我不断得到

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.
Run Code Online (Sandbox Code Playgroud)

man*_*lds 6

您向 ~/.npmrc 文件写入了错误的内容。

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