免费发布 npm 包到 npmjs.com

本文档说明如何把你的代码编译并发布为 npm 包。

一、注册  npmjs.com 账号

访问 https://www.npmjs.com/ ,点击 “Sign Up” 根据提示一步步注册账号

image

二、创建 Granular Access Token

由于 npm 现在强制要求发布时开启两步验证(2FA)。 没有启用 2FA 的账号直接拒绝发布。

直接 npm publish → 报 403,要求 2FA。

需要改成 npm publish --otp=xxxxxx,其中 otp 就需要安装认证 App,然后才能获得 OTP。

如果不想安装认证 App 就可以使用 Granular Access Token 的方式。

1、浏览器访问

  https://www.npmjs.com/settings/rslai/tokens

注意:其中 rslai 是我注册 npmjs.com 账号,换成你的即可

2、点击 “Generate New Token” 按钮

image

3、填写信息

  • Token namepublish-token(随便起一个名字方便识别)
  • Bypass two-factor authentication (2FA):勾选后这个 Token 就可以绕过两步验证
  • Expiration:选 90 天(或按需选择时长)
  • Packages and scopes:选 Read and write(读写权限)
  • Organizations:选择你的组织

image

 4、点击“Generate token”

image

5、点击复制生成的 token(一定保存好,后续关闭后就不会显示这个 token 了)

image

 三、编译发布你的 npm 包

1、把 Token 写进 npm 配置(后续就不用 npm login 了)

# 注意需要使用刚才生成的 token
npm config set //registry.npmjs.org/:_authToken "你的Token粘贴到这里"

2、确认包元信息

发布前核对 package.json。当前仓库里的字段如下,其中 name 需要改成带 scope 的形式才能发到 @rslai 下:

{
  "name": "@rslai/loom-pi",   // ← 当前是 "loom-pi";发到 @rslai 组织须改成这个
  "version": "0.1.0",         // 每次发布必须是未发布过的新版本号
  "type": "module",
  "bin": { "loom": "dist/cli.js" },   // 全局命令入口,构建产物
  "engines": { "node": ">=20" }
}

3、编译

npm install          # 安装依赖(含 typescript)
npm run build        # tsc 按 tsconfig.json 编译 src/ → dist/

编译成功后产物保存在 dist/ 目录中

4、发布前自检

# 预览命令,用来查看当你执行 npm publish 时,到底会把哪些文件打包上传到 npm 仓库
npm pack --dry-run 

5、发布

npm publish --access public  # 首次发布 scoped 公开包必须带 --access public

6、验证发布结果

npm view @rslai/loom-pi                 # 查看已发布的元信息与最新版本
npm view @rslai/loom-pi version         # 只看版本号

  

 
 
 
 
 
 
 
 
posted @ 2026-07-16 15:32  rslai  阅读(8)  评论(0)    收藏  举报