架构
lip 用于管理工作区中已安装包的状态。
工作区状态
表示工作区当前状态,追踪安装了哪些包以及安装方式。
- Packages:已安装包集合,记录在状态文件中;lip 将其保存在工作区中的
.lip/state.json。 - 环境:工作区的运行端(
server或client)和平台(.NET RID)。参见环境。
配置
用于管理 lip 工具本身的全局配置(如代理和默认行为)。
- Properties:配置项键值对(例如
github_proxy)。
包来源
包是根部带有 lip.toml 的归档。参见 lip.toml。
- git 仓库:像
github.com/user/repo这样的包 ID 即 git 仓库https://github.com/user/repo.git,lip 使用内置的 git smart-HTTP(协议第 2 版)客户端读取;无需安装git命令行工具。不存在中心化注册表:版本即仓库的v<semver>标签,git 引用(@branch:、@tag:、@rev:)则改为选取一个提交。 - URL:通过 HTTPS 下载的 ZIP 归档。
- 本地文件和目录:通过路径传给
lip install、根部带有lip.toml的 ZIP 文件和目录。 - 缓存:HTTP(S) 下载内容按其 URL 的 SHA-256 存储(
http-<hash>)。git 归档不会被缓存。
详见内部机制。