一、前提
需要有梯子,然后在使用的梯子里找到设置的http代理端口,然后在命令行里输入
//windows
set http_proxy=127.0.0.1:代理端口
set https_proxy=127.0.0.1:代理端口
//mac os
export http_proxy=127.0.0.1:代理端口
export https_proxy=127.0.0.1:代理端口
梯子都有全局模式,搞不懂为什么系统代理不管用,反正我这边测试以上语句是可以设置命令行代理。
可以使用curl www.google.com测试,windows系统需要安装curl才可以使用该命令,搞不懂为什么ping和telnet没用,不懂网络方面的知识。
二、步骤
1、检查项目是否符合要求
按照官网提示,在命令行输入
flutter pub publish --dry-run
即可检查项目结构,如果不符合要求,将会打印提示,按照提示修改即可,基本上抛去代码的编写,其他如CHANGELOG.md、LICENSE、READNE.md、pubspec.yaml按照要求写好即可。
1.1、CHANGELOG.md
版本记录,Markdown语法。
1.2、READNE.md
发布说明,Markdown语法。
1.3、LINCENSE
按照pub的说明,在pub上发布的插件都是开源,所以这个开源许可如果不知道怎么写,就先删除这个文件,然后上传github,然后在项目主页点击Add file -- Create new file,然后输入“LINCENSE”,右侧会显示模板按钮,选择MIT模板后提交修改即可。
1.4、pubspec.yaml
首先依赖的第三方SDK注意不要使用“any”标注版本,改为“^x.x.x”标注最低版本;然后写上version和homepage,homepage写项目的github地址,发布到pub后,会链接github,标注出示例的首页。
但如果确定要发布了,直接运行
flutter pub publish
// 或
flutter pub publish -v
// 或
flutter packages pub publish
// 或
flutter packages pub publish -v
都是会检查项目结构,加-v会显示详细信息,至于flutter与flutter package的区别没搞懂,只是有一个情况,如果在环境变量里配的flutter地址是镜像地址,有的文档会提示让使用
flutter pub publish --server=https://pub.dartlang.org
但实际发现以下语句才可以正常运行,测试环境的flutter sdk版本大于1.17.0
flutter packages pub publish --server=https://pub.dartlang.org
2、提交
在命令行输入
flutter packages pub publish -v
然后会检查项目结构,然后。。。先后顺序我忘了,反正会询问是否提交,输入y,然后检查授权,如果没有会给出链接,点击过去就是用google账号给pub授权登录,完成后回到studio会显示已接收到授权,接着等待上传,上传完毕过一会即可在pub仓库搜索插件了,可以根据插件在仓库的显示细节修改发布说明和其他文件以及版本号,然后再次发布即可。
再次注意梯子和环境变量
梯子
因为会用浏览器进行google账号授权,然后命令行里发布插件也需要链接pub.dartlang.org,所以梯子没搭好,无法发布的。
环境变量
按照网上学的基本都会在搭建flutter开发环境时配了国内镜像的地址,所以避免重复删除、添加环境变量,直接使用
flutter packages pub publish --server=https://pub.dartlang.org
当然如果身处国外或者环境变量配的是官方地址,也就没这么多事了。