项目工程

依赖与锁图

使用言包管理直接依赖,并理解完整、确定、可离线复现的锁图。

常用来源都通过同一命令进入清单:

yanbao add http --version '^1.0'
yanbao add acme/yanxu-tools
yanbao add 共享工具 --path ../共享工具 --version '^1'
yanbao add 测试工具 --dev --path ../测试工具
yanbao install

官方短名http映射到yanxulang/yanxu-http;第三方 GitHub 包使用组织/仓库。只有自定义 Git URL、路径或注册表需要显式来源选项。

格式 2 锁文件固定直接和传递包的精确版本、Git 提交、内容校验和、来源、依赖边、入口、导出、最低言序版本、目标平台与原生制品。检查、运行和构建只使用这张图,不会在导入时临时重新选版。

1.1.20 会把路径、Git 与注册表依赖在完整校验后发布为内容寻址、只读的 generation;解释器、VM、检查器、LSP、文档和构建消费解析阶段保存的同一目录能力,不会再按可变来源路径重新打开。Git 缓存使用锁定的 bare 对象库与 40 位精确提交,注册表旧缓存也只在复验后迁入不可变快照。首次升级建议联网运行一次yanbao install填充新缓存;离线模式不会信任未复验的旧目录。

yanbao tree
yanbao why http
yanbao outdated
yanbao update --dry-run
yanbao audit

清单变化后提交新的清单和锁文件。离线安装只能复用已缓存或vendor保存、且与锁图逐包一致的内容。依赖包的权限不会传给应用;顶层项目必须独立声明所需能力。

包元数据与源码都有固定预算:单个清单 4 MiB、锁文件 16 MiB、辖制清单 8 MiB、注册表索引 32 MiB,单个模块源码 8 MiB。最终文件符号链接、重解析点、特殊文件、读取期间身份替换以及可移植大小写或 Unicode 路径碰撞都会被拒绝。超过预算的工程应拆分模块或清理重复元数据,而不是放宽宿主内存限制。