如何通过CLI配置semantic-release发布预版本并解决分支配置报错
问题根因
你的问题出在CLI参数的传递格式错误,你的预期完全符合semantic-release的规则。
你直接在shell中传入未正确转义的JSON结构作为--branches参数时,shell会自动拆分{、'等特殊符号,导致semantic-release实际拿到的分支配置为空,所以抛出EINVALIDBRANCH错误。
修复方案
方案1:直接调整CLI参数
首先要符合三个要求:
- 完整的JSON结构需要用单引号包裹,避免shell拆分
- 标准JSON要求属性名和字符串值必须用双引号
- 你需要的
super-feature后缀可以直接赋值给prerelease字段,不需要设为布尔值true
正确命令如下:
npx semantic-release --plugins @semantic-release/commit-analyzer --branches '[{"name": "release/super-feature", "prerelease": "super-feature"}]'
方案2:使用配置文件(更推荐)
在项目根目录新建.releaserc.json配置文件,内容如下:
{ "branches": [ { "name": "release/super-feature", "prerelease": "super-feature" } ], "plugins": ["@semantic-release/commit-analyzer"] }
之后直接执行npx semantic-release即可。
效果验证
配置正确后,就会生成你预期的1.0.0-super-feature.1格式的版本号和对应标签,后续提交会自动累加预发布版本的末尾数字。
内容的提问来源于stack exchange,提问作者user2738882
相关产品推荐
相关产品推荐

