工具链

言包工程工具

使用言包创建项目,并通过短包名管理 GitHub 依赖。

言包(yanbao)是言序的官方工程与包管理工具,命令层完全由言序源码编写;仓库没有 Cargo 工程或 Rust 业务代码。0.5.0 要求言序 1.1.7 或更高版本,本站以 1.1.8 验收;它负责项目初始化、依赖、测试、YXB、Standalone、Bundle、缓存、诊断和打包,但不复制第二套 TOML、SemVer、依赖解析、锁图、YXB 或 Bundle 实现。

最常用的包命令

yanbao add html --version '^1.0'
yanbao add http --version '^1.0'
yanbao add web --version '^1.0'
yanbao install

短包名默认映射到 GitHub:httpyanxu-http均表示yanxulang/yanxu-http。第三方仓库使用yanbao add <组织>/<仓库>;只有自定义 Git URL、路径或注册表才需要显式使用--git--path--registry

安装

请先安装言序 1.1.7 或更高版本,并确保yanxu位于PATH中。再运行言包安装器:

curl -fsSL https://get.yanxu.dev/yanbao | sh
yanbao --version
yanbao doctor

Windows 使用 PowerShell 安装器:

irm https://get.yanxu.dev/yanbao/windows | iex

安装器校验下载制品和版本,然后使用系统言序执行言包。可用YANXU_BIN=/绝对路径/yanxu指定运行时;言包不会复制或覆盖言序,也不需要 Rust 版言包。

创建项目

yanbao init 我的项目 --name 示例
yanbao new 我的窗口 --gui
yanbao doctor --manifest-path 我的项目

init创建格式 2 的言序.toml言序.locksrc/主.yx.gitignore;不会创建 Git 仓库,也不会无提示覆盖已有模板。中文命令可写作yanbao 新 我的项目

管理完整依赖图

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

add/remove默认重新解析完整直接与传递图;失败时同时恢复清单和锁文件。--no-lock可只编辑清单。格式 2 锁文件固定每条依赖边、精确版本/提交、来源、校验和、目标、导出和原生制品。

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

这些命令分别解释依赖树、引入路径、可更新项、更新计划和工具链状态。update --dry-run不会改写锁文件;正式update才重新选择允许范围内的版本。

开发、构建和分发

yanbao check
yanbao test
yanbao run -- --once
yanbao build --release
yanbao build --release --standalone
yanbao build --release --bundle
yanbao doc
yanbao pack
yanbao vendor
yanbao audit

build调用核心生成 YXB、当前平台 standalone 或 GUI Bundle;GUI 模板自动写入应用配置、独立权限和yanxu-gui依赖。pack生成确定性.yxpvendor复制完整锁定图以便离线恢复;audit复核校验和、来源、许可证、重复版本与原生制品。工作区会对声明成员执行同一套命令。

职责与安全边界

言包通过yanxu package protocol的版本化 JSON 协议调用核心yanxu-package。启动时会协商清单 2、锁 2、YXB 1、工程协议 1、原生 ABI v1/v2 和 Bundle 操作;核心不兼容时会明确要求先升级言序。

路径、Git 和索引包只有通过锁定与内容校验后才可参与模块加载。依赖权限不会传给应用,GUI 也不会自动授予文件或网络;第三方包不能自动执行构建脚本。原生后端必须来自锁定目标且通过摘要门禁,运行时不下载。言包 Release、标签和 CI 与核心运行时分别管理,不能以核心 Release 替代言包自身验收。

源码、问题与贡献说明见YanXuLang/yanbao