前言
Flutter开发中,我们可以共享自己的模块化代码,也就是packages。
packages分为两种:
- Dart包:其中一些可能包含Flutter的特定功能,因此对Flutter框架具有依赖性,仅将其用于Flutter,例如gzx_dropdown_menu包。
- 插件包:一种专用的Dart包,其中包含用Dart代码编写的API,以及针对Android(使用Java或Kotlin)和/或针对iOS(使用ObjC或Swift)平台的特定实现。一个具体的例子是battery插件包。
开发完一个package后,我们需要将其发布到Pub。
Pub官网访问比较慢,可以访问https://pub.flutter-io.cn/
下面我将介绍如何将gzx_dropdown_menu发布V3.0.0+1
版本到Pub的流程。
1、更新pubspec.yaml
只需要更新package version即可
version: 3.0.0+1
2、更新CHANGLOG.md
添加版本更新记录:
该版本记录会显示在pub的Changlog中:
3、更新README.md
根据需要进行更新,比如我增加了待办事项:
README会显示在pub的Readme中:
4、运行 dry-run 命令
在package根目录下运行 dry-run 命令以查看是否都准备OK了:
flutter packages pub publish --dry-run
从输出可以看出0 warnings,但是Publishing gzx_dropdown_menu 3.0.0+1 to https://pub.flutter-io.cn:
这里就有问题了,因为https://pub.flutter-io.cn是国内镜像。通过查看环境变量PUB_HOSTED_URL
,确实是这么设置的。
当初为了提高访问pub的速度,使用了国内镜像
5、运行发布命令
- 如果上一步dry-run输出的第一行是是
Publishing 包名 版本号 to https://pub.dartlang.org:
,则运行下面的命令进行发布:
flutter packages pub publish
- 如果不是,比如我这里是
Publishing gzx_dropdown_menu 3.0.0+1 to https://pub.flutter-io.cn:
,则运行下面的命令指定发布的server进行发布:
flutter packages pub publish --server=https://pub.dartlang.org
-
输入上面命令后,会提示是否publish,输入
y
即可。
这一步如果输出类似下图的结果,可能网络慢或需要上网
-
如果是第一次发布或距离上次发布的时间比较久,则会输出一个Google账号授权的url。点击url浏览器打开后,进行Google账号授权。
-
账后授权后,开始Uploading…
-
发布成功,你就会看到输出
Successful uploaded package
。
上网
支持🤟
- 🎸 [关注❤️我吧],我会持续更新的。
- 🎸 [点个👍赞吧],码字不易麻烦了。