FlutterBasic - 私有化组件仓库unpub最完整指南 - Jinkey原创

639 阅读1分钟

Flutter.png

买一台阿里云服务器

Centos7

2核2G

40G硬盘

香港

安装 Docker 和 docker-compose

参考 安装指南

克隆仓库拉取容器镜像

git clone https://github.com/zeqinjie/unpub-2.0.0-docker.git
cd unpub-2.0.0-docker
docker compose up -d 

image.png

访问域名

浏览器访问:http://你的IP地址:4000/ 可以自己配置Nginx或者Nginx Proxy Manager或者宝塔解析域名到这个地址和端口

创建私有组件

testpub换成你自己的包名

dart create -t package testpub

往项目增加LICENSE文件,内容随便写Not OpenSource

编辑 pubspec.yaml publish_to写域名或者IP地址:4000 homepage是介绍主页 repository是仓库地址 topics是标签,选填

name: testpub
description: A starting point for Dart libraries or applications.
version: 1.0.0+1
publish_to: 'http://你的IP:4000/'
homepage: https://github.com/Jinkeycode
repository: https://github.com/Jinkeycode/testpub/git

topics:
  - https
  - network
  - interceptor
  - middleware

要用到的类放在lib文件夹

image.png

用到的文件都要export

export 'src/test_class.dart';

image.png

测试

flutter packages pub publish --dry-run

发布

flutter packages pub publish --server=http://你的IP地址:4000/

强制回退版本(不建议)

除非你把密钥等敏感信息提交上去了,不然不建议做删除操作

查看mongodb的容器id

docker ps | grep mongo

进入容器运行mongo命令

docker exec -it <container_id> mongo

切换到dart_pub数据库

use dart_pub

查找包名,testpub 替换成你要回退的包名

db.packages.find({name: "testpub"}).pretty()

删除版本

db.packages.update(
  { name: "testpub" },
  { $pull: { versions: { version: "1.0.0+1" } } }
)

删除包

db.packages.remove({ name: "testpub" })