向 npm 发布 package 的最简单的方式是:
- 免费注册 npm 账号,并通过命令登录:
npm login
- 在当前项目目录下执行
npm publish .
这样不够自动化,每次需要手动执行命令。
可以借助 GitHub 的 Actions,当 push 代码后触发指定事件,会执行 build 过程并将 package 发布到 npm。
基本过程是:
- web 页面登录 npm
- 到 Account 看下是否设置了 Two factor authentication,默认是没有设置的
- 如果设置了 two factor authentication,那么需要在这个 package 的 settings 中
- 设置 publishing access 为 require two-factor authentication tokens (不是很确定)
- 默认为 two-factor authentication is not required
- 在 Access Tokens 中,创建一个 token,选择 Automation
- 在 github repository 进入 Settings -> Secrets -> Actions, New repository secret, 将上一步的 token 复制进去,name 输入
NPM_TOKEN
- 创建一个 workflows 文件,./.github/workflows/npm-publish.yml,见后
- 修改代码中 package.json 中的 version,比如
1.3.9
,git push 代码到 github git tags v1.3.9
然后git push --tags
,将 tag push 到 github,这将触发 ci 和发布包的自动处理
代码:
1 | name: Node.js Package |
示例项目:https://github.com/MarshalW/max-tcp
本文参考了: Publish NPM packages using GitHub Actions: A How-To Guide