npmjs 包 tag 管理

小蜜蜂

· 2026/8/5

· 16 阅读

运维
npmjs
包管理
tag
npmjs 包 tag 管理

如果需要发布非 latest 包,比如已经发布了 v2.0.0,想要更新 v1.0.0 为 v1.0.1 给没有迁移的用户,切换分支修改完 1.0 代码后,修改 package.json 的 version 为 1.0.1,可以给这个版本增加一个 tag,然后执行 npm publish --tag legacy

tag 管理说明:

  • latest (最新稳定版)

  • rc (Release Candidate, 发布候选版)

    19.0.0-rc-65e06cb7-20241218

  • next & canary (先行版/金丝雀版)

    19.3.0-canary-d5736f09-20260507

  • beta (测试版)

    19.0.0-beta-26f2496093-20240514

  • experimental (实验版)

    版本号命名方式:0.0.0-experimental-d5736f09-20260507d5736f09 是那次提交的 commit-hash 后缀,20260507 是提交日期

递归发布 workspace 里非 private 的包

# --no-git-checks 工作区不干净时仍可发
# --dry-run 预览
pnpm -r publish --access public --tag rc --no-git-checks

# 将某个版本追加到 tag
npm dist-tag add @your-org/your-pkg-1@3.0.0-rc-00042fff53-20260517 latest

# 循环追加
VERSION="3.0.0-rc-184a042b9f-20260518"
for pkg in \
  @your-org/your-pkg-1 \
  @your-org/your-pkg-2 \
  @your-org/your-pkg-3; do
  npm dist-tag add "${pkg}@${VERSION}" latest
done

# 弃用包
npm deprecate your-pkg@* "your-pkg is deprecated. Migrate to @your-org/*."
评论

登录后可发表评论