Open2

GitHub Actions で npm publishする際にハマったこと

8beeeaaat8beeeaaat
  • NODE_AUTH_TOKEN は Repository secrets として設定するべし

Environment secrets に設定するのは誤り。トークンを参照できないので認証エラーとなる。

      - run: npm publish --access public
        env:
          NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
npm ERR! code ENEEDAUTH
npm ERR! need auth This command requires you to be logged in to https://registry.npmjs.org/
npm ERR! need auth You need to authorize this machine using `npm adduser`
npm ERR! A complete log of this run can be found in: /home/runner/.npm/_logs/2024-04-25T23_05_07_549Z-debug-0.log
Error: Process completed with exit code 1.
8beeeaaat8beeeaaat
  • 必ずしも .npmrc を作らなくとも良い

トークンとjobさえ正しく設定できていればpublishできる。

  publish-npm:
    needs: build
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: write
    steps:
      - uses: actions/checkout@v4.1.1
      - uses: actions/setup-node@v4.0.0
        with:
          node-version: '20.x'
          registry-url: 'https://registry.npmjs.org'
      - run: npm ci
      - run: npm run build
      - run: npm publish --access public
        env:
          NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}