未发布到pub.dev的Flutter插件如何启用版本控制?
本地插件的版本控制解决方案
不用发布到pub.dev也能给你的插件做版本控制,核心是把插件改成Git仓库,然后通过Git引用替代本地路径引用,这样每个项目可以独立选择插件版本,不用同步更新。具体操作如下:
1. 先给插件初始化Git仓库
在你的my_plugin目录下执行以下命令:
git init git add . git commit -m "初始化插件版本" git tag v1.0.0 # 打第一个稳定版本标签
之后每次做变更,不管是兼容更新还是破坏性变更,都提交代码后打新标签,比如破坏性变更后打v2.0.0,兼容更新打v1.1.0。
2. 项目中按版本引用插件
把原来的本地路径引用改成Git引用,支持两种方式:
方式一:引用特定版本标签(推荐用于稳定版本)
修改项目的pubspec.yaml:
dependencies: my_plugin: git: url: /Users/myself/Documents/my_plugin # 你的本地Git仓库路径 ref: v1.0.0 # 指定要使用的版本标签
需要升级插件的项目,只需要把ref改成新标签(比如v2.0.0),执行flutter pub get就能拉取新版本;不需要升级的项目保持旧标签即可,不受破坏性变更影响。
方式二:引用特定分支(适合开发阶段)
如果需要在开发中测试不同版本,可以指定分支:
dependencies: my_plugin: git: url: /Users/myself/Documents/my_plugin ref: dev # 比如专门的开发分支
你可以维护多个分支,比如main分支放稳定版本,dev分支放正在开发的功能,项目按需选择分支即可。
补充说明
如果需要在多台机器上共享这个插件,也不用上传到pub.dev,搭个本地局域网的Git服务(比如Gitea、自建GitLab),把插件仓库推上去,然后项目里的url改成局域网Git服务的地址就行,原理和本地Git引用一样。
内容的提问来源于stack exchange,提问作者gd08xxx
相关产品推荐
相关产品推荐

