简体   繁体   中英

github action for npm publish fails

Goal

I have manually published an open source lib to registry.npmjs.org and I want future releases to be automatically published using GitHub Actions. I have no prior experience with GitHub actions.

What I have done so far

I have put the standard GitHub action into the repository which GitHub provides for that purpose ( unchanged ). In its last line, it takes the automation token from npmjs.com which I have defined on the repo as environment secret NPM_TOKEN . It shows up in the repo's secrects page.

The error that I face

Run npm publish
...
npm ERR! code ENEEDAUTH
npm ERR! need auth This command requires you to be logged in.
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:
npm ERR!     /home/runner/.npm/_logs/2022-01-08T00_20_52_834Z-debug.log
Error: Process completed with exit code 1.

Despite extensive web search, I do not understand

  • is there a way to verify that the automation token is picked up at all?
  • why does npm publish require npm adduser , does it indicate that the automation token has not been properly picked up? After all, the action is executed on a CI node on which I couldn't npm login . And the npm-publish.yml or its documentation shows no hint that user details need to be provided for authentication.

I had some endeavours and got a similar problem. Consider two things to look at:

  1. When creating the secret token, select automation option not publish.
  2. When adding secret to github: What I have found going to settings > secrets, there are two ways to add secrets: In the environment or to the repository. Adding secrets to the environment will not work. You need to add it as repository secret; please see the attached image.快照以添加存储库秘密
  3. Confirm the secret name in secrets matches the YML file.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM