flutter项目的开发过程中,通常会用到很多的插件,那么自己创建并发布一个package包到pub需要哪些步骤? 会遇到哪些问题?
一、创建
// 命令创建
dart create -t package lj_loadding_empty
创建完成后生成的项目结构如下:(LICENSE需要自己手动添加, 也可以用其他的package进行修改)
里面
二、LICENSE
LICENSE文件可以从其他package进行借鉴, 需要注意的是,
修改 Copyright (c) 2023 LjLoadding, 要改成自己的
三、pubspec.yaml配置
1、name: 包名
2、description: 描述
3、version: 版本号, 默认是1.1.0
4、homepage: 把项目上传到GitHub,拿到项目的URL
5、sdk: '>=2.19.2 <3.0.0': 环境版本
四、代码实现
1、创建一个新文件(文件1)实现功能代码
2、把文件1引入到文件2
export 'src/lj_loadding_empty_page.dart';
五、例子example
1、把package的example删除,重新创建一个flutter项目
flutter create example
2、在example项目中配置package路径
lj_loadding_empty:
path: ../
3、在example项目中举例子实现package功能
我的package是一个loading动画
4、修改READMD.md
READMD.md文件创建后是默认内容, 需要修改
六、发布
1、上传需要外网(你懂的)
2、预发布
flutter packages pub publish --dry-run
如果没有警告或者错误就可以上传了
3、发布
// 方式1
flutter packages pub publish
// 方式2
flutter packages pub publish --server=https://pub.dartlang.org
4、授权(需要账号)
第三步骤执行完先提示是否确定上传. y/N
y
会出现一个URL, 复制URL到浏览器使用账号进行授权
5、错误:(未遇到请忽略)
授权完成可能会出现pub finished with exit code 69的错误
这个错误是代理设置造成的, 需要修改代理
(1)、找到Wi-Fi的协议地址端口 127.0.0.1:7890
(2)、修改配置 要根据自己的实际端口进行设置
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
set https_proxy=https://127.0.0.1:7890
set http_proxy=http://127.0.0.1:7890
再次执行发布流程.
七、发布成功。(lj_loadding_empty)
发布成功后是不能立即在pub上搜索到的(需要等一个小时左右), 自己登录上是可以看到的