How do I install private packages using yarn inside a Github Action?

时光毁灭记忆、已成空白 提交于 2019-12-10 15:47:51

问题


My current workflow:

name: Node CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [10.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: npm install, build, and test
        run: |
          npm install yarn -g
          yarn
          yarn test
        env:
          CI: true
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

I have setup my NPM_TOKEN in the repo secrets area.

The token is also in use on Netlify, and the netlify build process works.

When this workflow runs, I get a 404 for any of my private packages.

What am I doing wrong?


回答1:


Found a fix:

Write out .npmrc as part of the job instead of relying on an env variable.

name: Node CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [10.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: npm install, build, and test
        run: |
          echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
          npm install yarn -g
          yarn
          yarn test
        env:
          CI: true



回答2:


I think the following question/answer might be related.

Yarn can't find private Github npm registry

If this is the same issue, package proxying from the npm registry doesn't work with yarn yet.



来源:https://stackoverflow.com/questions/58430182/how-do-i-install-private-packages-using-yarn-inside-a-github-action

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!