发布网友 发布时间:2024-09-29 23:29
共1个回答
热心网友 时间:2024-10-25 17:23
前言在Flutter开发中,考虑到我们不同业务组件下依赖不同版本的基础组件,如果采用分支依赖管理特别不方便,因此搭建私有pub包服务很有搭建必要。在技术调研后发现pub官方开源的的pubserver已有两年多没有更新,且现在已调整为只读。因此使用基于字节开源的unpub开源搭建私有仓库平台。
unpub私有平台搭建安装MongoDB官方安装方式?传送门选择On-premisesMongoDBlocally下载?
在.zshrc?添加环境变量
#写入环境变量exportPATH=/Users/zhengzeqin/flutter/bin:$PATH#写入环境变量exportPATH="/usr/local/opt/mongodb-community@4.4/bin:$PATHhomebrew安装brewtapmongodb/brew#4.4版本号brewinstallmongodb-community@4.4#启动服务brewservicesstartmongodb-community@4.4#查看已启动服务brewserviceslistDocker安装传送门unpub?传送门在.zshrc?添加环境变量exportPATH="$PATH":"$HOME/flutter/.pub-cache/bin"安装unpubflutterpubglobalactivateunpub去掉unpub的google验证查找app.dart,修改使用_getUploaderEmail的地方
第一处
第二处
第三处
Flutter启动命令flutterpubglobalrun'unpub:unpub'--database'mongodb://localhost:27017/dart_pub'#失效flutterpubglobaldeactivateunpubDart启动命令dartpubglobalactivateunpubdartpub--tracepubglobalrun'unpub:unpub'--database'mongodb://localhost:27017/dart_pub'#失效dartpubglobaldeactivateunpubGet点项目中存在两个.pub-cache注意别修改错地方
/Users/zhengzeqin/Flutter/.pub-cache
/Users/zhengzeqin/.pub-cache
项目.pub-cache下的pub.flutter-io.cn和pub.dartlang.org文件夹,插件源码安装与执行上述flutterpubglobalactivate和dartpubglobalactivate有关系
修复flutter缓存插件包问题
flutterchannelstableflutterupgradeflutterpubcacherepair//Toperformacleanreinstallofthepackagesinyoursystemcache,usepubcacherepairmogodb启动后执行下面命令启动flutterpubglobalrun'unpub:unpub'--database'mongodb://localhost:27017/dart_pub'成功启动私有平台开机启动shell脚本问题开机自动启动shell脚本
Mac上如何开机与关机时自动运行Shell脚本
通过shell脚本自启动服务通过脚本校验服务是否连接成功
#!/bin/bashfunctionnetwork(){#超时时间localtimeout=120#目标网站localtarget=http://0.0.0.0:4000/echo"check${target}"#获取响应状态码localret_code=`curl-I-s--connect-timeout${timeout}${target}-w%{http_code}|tail-n1`if["x$ret_code"=="x200"];then#网络畅通return1else#网络不畅通return0fireturn0}while[[true]];doecho'connecting...'ifnetwork==0thenecho"unpubservicestartfail..."flutterpubglobalrun'unpub:unpub'--database'mongodb://localhost:27017/dart_pub'elseecho"unpubservicestartsuccess..."exit0fisleep15done安装遇到的问题'String?'isnullableand'Object'isn't.修改源码
mongodb启动失败centosmongodb启动失败
系统重启后Mongo服务启动失败
端口被占用问题#排查占用端口sudolsof-iTCP-sTCP:LISTEN-n-P#删掉端口sudokill449鉴权问题重新安装mongoDB,去掉管理员的账户密码即可
发布私有package到unpub平台跳过谷歌验证下载项目:https://github.com/ameryzhu/pub
brewtapmongodb/brew#4.4版本号brewinstallmongodb-community@4.4#启动服务brewservicesstartmongodb-community@4.4#查看已启动服务brewserviceslist0生成pub.dart.snapshot文件
复制之后放入flutter/bin/cache/dart-sdk/bin/snapshots/目录下
如果是flutter直接安装则放入flutter/bin/cache目录下
发布Pub私有包?注意http://192.168.x.xx:4000/是自己的pub私有包服务ip地址,否则会上传失败
创建devpackage包brewtapmongodb/brew#4.4版本号brewinstallmongodb-community@4.4#启动服务brewservicesstartmongodb-community@4.4#查看已启动服务brewserviceslist1GitLab私有仓库配置yaml文件信息brewtapmongodb/brew#4.4版本号brewinstallmongodb-community@4.4#启动服务brewservicesstartmongodb-community@4.4#查看已启动服务brewserviceslist2检测命令brewtapmongodb/brew#4.4版本号brewinstallmongodb-community@4.4#启动服务brewservicesstartmongodb-community@4.4#查看已启动服务brewserviceslist3发布包到私有包管理平台brewtapmongodb/brew#4.4版本号brewinstallmongodb-community@4.4#启动服务brewservicesstartmongodb-community@4.4#查看已启动服务brewserviceslist4发布成功更新yaml信息执行pubgetbrewtapmongodb/brew#4.4版本号brewinstallmongodb-community@4.4#启动服务brewservicesstartmongodb-community@4.4#查看已启动服务brewserviceslist5通过Docker方便大家部署为了方便大家移植部署,这边将unpub打包成docker镜像环境
安装镜像首先拉取GitHub地址?代码,安装docker环境,?然后执行下面命令即可
brewtapmongodb/brew#4.4版本号brewinstallmongodb-community@4.4#启动服务brewservicesstartmongodb-community@4.4#查看已启动服务brewserviceslist6安装运行成功如下安装成功
通过dockerps-a命令查看运行中容器
参考私有库搭建使用unpub搭建私有pub服务器
Flutter发布package到公有或私有pub
私有仓库web平台
FlutterPub私有仓库搭建及使用
Flutter发布Package(Pub.dev或私有Pub仓库)
Dart私有仓库-私服搭建
Dart依赖和搭建Flutter-or-Dart简易私人仓库
https://medium.com/dartlang/hosting-a-private-dart-package-repository-774c3c51dff9
https://dart.dev/tools/pub/custom-package-repositories
遇到问题brewupdate更新时shallowclone
使用brewservices管理服务
MongoDB常见问题-解决brewserviceslist查看MongoDB服务status显示error的问题
'String?'isnullableand'Object'isn't.
NoactivepackagedartdocFlutter
Nullcheckoperatorusedonanullvalue
DockerDocker-开机自启&&容器自启动
Docker-从入门到实践
原文:https://juejin.cn/post/7098240093558669343
原文:https://juejin.cn/post/7098240093558669343