原yarn publish next失效,如何正确完成模块更新、打标签与发布?
替代
yarn publish next的正确方案,实现版本更新与完整发布流程 问题根源
你输入的yarn publish next会被Yarn解析为「发布名为next的文件夹/压缩包」,但该路径不存在,因此触发error Passed folder/tarball doesn’t exist错误。Yarn官方并没有yarn publish next这种命令签名。
满足你需求的两种方案
你的核心需求是:提示版本号→更新package.json→创建版本提交与Git标签→发布到注册表,以下是实现方式:
方案1:发布预发布版本(带next标签)
如果你是想发布标记为next的预发布版本(供用户尝鲜的测试版),可以分两步执行:
执行版本更新与Git操作:
yarn version --prerelease --preid next这个命令会:
- 自动生成预发布版本号(比如当前版本
1.0.0会变成1.0.1-next.0,也可以手动输入自定义版本) - 更新
package.json中的版本字段 - 创建包含版本信息的Git提交,并生成对应版本标签
- 自动生成预发布版本号(比如当前版本
发布到注册表并标记
next标签:yarn publish --tag next这一步会将当前版本发布到npm注册表,同时标记为
next标签(用户可通过yarn add your-package@next安装)
方案2:发布正式版本
如果不需要预发布标签,只需要常规正式版本发布:
执行版本更新与Git操作:
yarn version这个命令会:
- 弹出提示让你输入目标版本号(也可以用
--major/--minor/--patch参数自动升级主版本/次版本/补丁版本,比如yarn version --patch) - 更新
package.json中的版本字段 - 创建版本提交与Git标签
- 弹出提示让你输入目标版本号(也可以用
发布到注册表:
yarn publish这一步会将当前版本发布到npm注册表,默认标记为
latest标签
补充说明
Yarn的publish命令本身不会自动创建Git提交和标签,必须配合yarn version来完成版本管理的Git操作,再执行publish完成发布。
内容的提问来源于stack exchange,提问作者Shanimal
相关产品推荐
相关产品推荐

