pub.dev是否支持snapshot包?更新已发布包必须修改版本号吗?
问题解答
1. pub.dev 上传更新的版本号要求
pub.dev 平台强制要求同一包名的同一个版本号仅允许上传一次,一旦某个版本上传成功(即使后续你主动删除了该版本),也无法再次上传相同版本号的包。所以你要将更新发布到pub.dev的话,必须修改pubspec.yaml中的version字段升级版本号,这个是平台的硬性规则,目的是保证整个Dart生态的依赖一致性,避免出现同一个版本号对应不同代码逻辑的混乱情况。
2. 快照/日常构建仓库支持说明
pub.dev 官方没有提供类似Java生态的Snapshot快照仓库,也不支持同版本号覆盖上传测试版本,所有公开版本的代码都是不可变的。
3. 日常构建包托管替代方案
你可以使用Git依赖的方式解决CI环境拉取的问题,该方案不需要提前发布到pub.dev,直接依托Git仓库托管代码即可,依赖配置写法如下:
wheel: git: url: https://github.com/你的用户名/wheel.git # 替换为你的仓库实际地址 ref: main # 可以指定分支、标签,也可以填写commit hash固定某次提交
这种方式在本地开发和GitHub Actions等CI环境中都可以正常拉取代码,完全满足日常测试的需求,等代码迭代稳定后,再升级版本号正式发布到pub.dev即可。如果是私有包不希望公开,你也可以自行搭建私有pub服务托管内部测试版本。
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

