6.6 KiB
安装与更新
安装入口为 https://git.dever.cc/shemic/dever/install,官方二进制源为同站 /shemic/dever/dist。这些地址由发行工具固定,不写入业务项目配置,不通过环境变量选择。Git 源码可访问不代表安装端点或二进制已发布;服务器尚未部署时如实报告,不能把登录 HTML 当作脚本。
安装 dever
先检查 dever --help。机器版提供 new、install、update、target、version、skill;仅源码开发二进制不管理机器安装。不要把已有同名命令直接删掉或覆盖,先识别归属。
初次安装需要 Linux、Bash、Python 3.9 或更新版本的 /usr/bin/python3 和支持 Ed25519 的 /usr/bin/openssl;管道下载还需要 curl。非 root 安装通过 /usr/bin/sudo 提权,帮助不提权。这些工具用于校验和安装,生成的应用不依赖系统 Python、Node、Go 或 Rust。检查安装脚本并取得机器安装授权后执行:
还须满足所选发行包的主机 ABI 要求;当前准备的 Linux x86_64 编译器要求 glibc 2.39。ARM64 应用交叉构建可在 x86_64 主机使用,不能据此宣称 ARM64 宿主编译器包已经发布。
curl -fsSL https://git.dever.cc/shemic/dever/install | bash
无需先克隆源码或安装 skill。查看参数用 bash -s -- --help;固定版本用 bash -s -- --version <准确版本>,替换上面命令尾部的 bash 即可。本地已下载脚本可用 bash install --help 检查。
该命令下载当前平台最新已签名基础包。脚本包含独立固定公钥,先校验发行元数据,再验证引导程序及其私有库摘要,由引导程序解压 Zstandard 包;无需系统 zstd。安装 /opt/dever、/usr/local/bin/dever、机器共享服务和必要沙箱策略,默认启动服务。--no-start 可仅安装。没有对应正式资产时明确失败,不修改已安装版本。
基础包包含 Dever 编译器、本机应用编译资源、四种数据库运行库和配套 skill。Python、Node、Go、第三方原生构建工具与 ARM 应用目标按需安装,保存在机器共享资源目录;同一版本的多个用户和项目共用一份。
将 skill 接入 AI
安装核心后,将稳定入口装到用户选择的 AI 技能目录:
dever skill install <新的AI技能目录>/dever-language
目录必须尚不存在,不能覆盖已有 skill。入口每次解析与核心配套的完整 skill,重载 AI 工具的技能列表后使用。这是 Dever 语言的 dever-language,不是 Go 框架的 shemic-dever。不自动修改机器上其他用户的 AI 目录。
按需准备资源
首次添加或更新 Lib 时,dever lib add/update <project-root> ... 自动准备相应生态,只有进入源码构建流程时才准备构建工具。已有 dever.lock 的项目在新机器运行 dever lib install <project-root>,按锁恢复依赖,保持配置和锁文件不变;没有 Lib 的 Python/JS/Go Adapter 也可通过该命令准备环境。缺少锁时先显式 dever lib update <project-root> 生成锁。不要把 install 当作重新选版本的 update。
在 x86_64 机器准备 ARM64 应用目标:
dever target add linux-aarch64
dever lib install <project-root> --target linux-aarch64
dever build <project-root> --target linux-aarch64 --output <新文件>
只用 Dever、没有外部依赖的项目省略 lib install。目标 Lib 必须已有匹配目标的锁;首次生成 ARM 锁使用 lib add/update 的同名 target 参数。准备会显式联网,后续 run/build 离线;缺资源时执行提示的准备命令,不改用系统解释器。target add 准备当前活动版本,锁定其它编译器版本的项目先准备并选择对应版本。
已准备本地发行包时:
bash install --release /可信发行目录 --trusted-key /独立确认的公钥文件
测试或镜像制作增加 --system-root /已有的自有镜像目录;不会启动宿主服务。安装器生成的临时 config/setting.json 仅供机器 bootstrap 使用,包含本地发行路径、安装根和公钥路径;不是业务配置,不写发行仓库地址或环境变量。
公钥可公开提交;签名私钥绝不能进 skill、源码仓库或发行包。只有已独立确认的公钥才可作为 --trusted-key,不能从未知下载包顺手取一把钥匙作为信任依据。
已持有完整 skill 时仍可直接运行 sudo python3 <skill目录>/scripts/install.py,它与根 Bash 入口复用同一安装实现。
一条命令更新核心与 skill
sudo dever update
dever version
dever skill path
update 只访问内置官方发行源,先准备核心、同版本完整 skill,以及当前活动版本已安装的扩展,再切换活动版本。未使用的扩展不会一起下载;任一准备失败保留原活动版本。普通 check/test/run/build 不检查更新、不隐式联网。
从旧 GitHub 发行源迁移时,需要在新源正式包发布后执行一次新的 install。旧启动器和守护进程内置旧地址,普通 update 不负责替换这两个稳定程序;只修改仓库 remote 或重新发布旧包不能完成迁移。新 install 成功后再用 dever update。
本仓库直接安装的 skill 在开始开发时先运行 dever skill path 并加载该版本的完整 skill,不必每个项目 git pull。也可以用 dever skill install <新的AI技能目录>/dever-language 安装稳定的薄入口,之后每次自动解析当前机器版本;已有目录不会被覆盖。不要把新入口嵌套装进已经存在的完整 skill 目录。
项目可选 config/setting.json 的 dever.version 锁定准确 major.minor.patch,未锁定时使用机器活动版本。dever install 版本 准备指定版本;dever use 版本 显式切换活动版本。update 不改业务项目文件或数据库。锁定项目用 dever skill path <project-root> 读取对应指引,不能仅凭活动版指南采用新语法。
源码维护者
统一源码仓库为 ssh://git@git.dever.cc:2222/shemic/dever.git。skills/ 是主仓库中的普通目录,与核心、模板和安装器一起提交、校验及发行;无需初始化 submodule 或另行克隆 skill 仓库。普通应用开发者无需克隆核心或编译 Rust。
根 install 从 skills/scripts/install.py 与 skills/assets/release.pub 生成;修改安装器后运行 python3 sdk/install-entry.py,交付前运行 python3 sdk/install-entry.py --check。禁止单独修改生成物中的安装算法。首个新源发行包发布前,默认下载会明确失败;使用真实签名本地包可验证安装,但不能代表线上安装或更新已经通过。