我当前的工作流程:
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 }}
我已在回购秘密区域中设置了NPM_TOKEN
。
该令牌还在Netlify上使用,并且netlify构建过程正常工作。
运行此工作流程时,我的任何私有软件包都收到404。
我在做什么错了?
答案 0 :(得分:3)
找到了解决方法:
在工作中写出.npmrc
而不是依赖env变量。
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
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您有一个现有的 .npmrc
并且只想将令牌附加到现有文件中而不是覆盖它,这对我有用。
*** 注意:echo
包含一个 -e
参数和一个 \n
以添加换行符。此外,不是覆盖 >
文件的 .npmrc
,而是附加到 >>
文件的 .npmrc
。
- name: npm install, build, and test
run: |
echo -e "\n//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
npm install yarn
yarn
yarn test
env:
CI: true