买一台阿里云服务器
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
访问域名
浏览器访问: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文件夹
用到的文件都要export
export 'src/test_class.dart';
测试
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" })