准备事项:
- 待发布的plugin项目
- github仓库
- 配置ssh
若发布插件到pub.dev上,因为是公开的插件,所以安全性难以得到保障,此时就需要一种依赖方式可以确保被依赖的项目的代码的保密性和安全性。
1.发布插件到到gitlab/github
发布之前最好经过 flutter pub pub publish --dry-run进行测试项目是否还存在问题。没有问题再进行发布。
发布过程略。。。
2.配置flutter项目中的pubspec.yaml文件拉取仓库中的插件
如下配置表示该项目位于git仓库的根目录路径上:
dependencies:
plugin1://这个名字填写插件项目配置文件pubspec.yaml中的name字段对应的value。
git:
url: git://github.com/flutter/xxxxxx.git。
path: packages/xxxxx //若不是根目录则填写具体的位置。
ref: some-branch //可以指定gitlab中项目的分支。
这里需要注意的有 url 如果是公开项目可以直接填写
https://github.com/xxxx.git
这样直接可以作为依赖加入到项目中
ssh://github.com/xxxx.git
如果是私有项目则需要通过配置ssh key进行项目依赖的获取,具体方式参考git ssh配置。作为公司项目上传在公司的gitlab仓库的插件,应该使用第二种ssh的方式进行配置的获取。
期间可能遇到的问题:
1.git 报错 Please make sure you have the correct access rights and the repository exists.
可能是由于ssh配置不正确引起,检查ssh配置
2.git 报错 Connection reset by 13.250.177.223 port 22 甚至 Authentication failed.
切换手机热点重试。
3.flutter Waiting for another flutter command to release the startup lock。
如果一直卡在这里,可以在进程管理里终止dart进程,然后删除flutter/bin/cache/lockfile在重新package get
相比于上一篇文章说的发布插件到pub.dev,发布在gitlab可能提供了更安全更私有的方式,而且对于墙内的同学更加友好,不用动不动的就怀疑是否网络出了问题造成的异常。