Files
core/skills/references/install.md
T

70 lines
4.8 KiB
Markdown

# 安装与更新
Dever 安装包和编辑器插件从 [Releases](https://git.dever.cc/shemic/dever/releases) 下载。
## 安装 dever
先检查 `dever --help`,确认已有同名命令的归属,不直接删除或覆盖。Dever 语言与 Go 框架的 `dever-go` 是不同工具。
当前开发机支持 Linux x86_64,要求 glibc 2.39 或更新版本。首次安装还需要 Bash、`/usr/bin/python3` 3.9+、支持 Ed25519 的 `/usr/bin/openssl`;管道下载需要 curl。安装使用管理员权限,非 root 用户通过 `/usr/bin/sudo` 提权,查看帮助不提权。
取得机器安装授权后执行:
```sh
curl -fsSL https://git.dever.cc/shemic/dever/raw/branch/main/install | bash
```
无需先克隆源码或安装 skill。安装器下载最新正式版本,安装到 `/opt/dever`,提供 `/usr/local/bin/dever`,并安装、启动机器共享服务。无需系统 zstd。没有匹配平台的发行包或下载校验失败时明确报错。
将命令尾部的 `bash` 换为 `bash -s -- --help` 可查看参数,换为 `bash -s -- --version <准确版本>` 可指定版本。`--no-start` 只安装、不启动服务;应用编译仍需要共享服务可用。已下载脚本也可用 `bash install --help` 查看帮助。
基础安装包含编译器、应用编译资源、数据库运行库和配套 skill。Python、Node、Go 及第三方构建工具按实际依赖准备,同一版本由多个用户和项目共享。生成的应用不依赖系统 Python、Node、Go、Rust 或 Dever 编译器。
## 让 AI 遵守项目规则
在已有项目根目录执行:
```sh
dever skill install
```
命令自动读取项目的版本选择,从配套 skill 获取规则,写入当前项目的 `AGENTS.md`。文件不存在就创建;已有文件只更新 `dever-language` 管理块,保留其他内容。重复执行不会重复追加。不需要指定 AI 技能目录。
`dever new` 已自动生成同一份规则,无需再执行一次。机器安装和 `dever update` 不改业务项目文件;需要刷新项目规则块时重新执行 `dever skill install`。
AGENTS 要求 AI 开始任务前执行 `dever skill path .`,读取项目版本的完整 skill 与相关参考。skill 随 Dever 提供,无需复制到项目。AI 指引不能代替编译器检查或业务验证。
如果旧安装仍提示 `skill install` 需要目录参数,重新运行上面的官方安装命令升级命令入口,再执行本命令;不要改回旧用法。
## 按需准备依赖和 ARM64 应用目标
显式 `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。
Linux x86_64 开发机可准备 Linux ARM64 应用目标:
```sh
dever target add linux-aarch64
dever lib update <project-root> --target linux-aarch64
dever build <project-root> --target linux-aarch64 --output <新文件>
```
没有外部依赖时省略 lib update;已有匹配目标的锁时使用 lib install。目标依赖和原生扩展必须支持 ARM64。target add 准备当前活动版本,锁定其他编译器版本的项目先安装并选择对应版本。
依赖和目标准备会显式联网,后续 run/build 离线;缺资源时按提示准备,不扫描宿主 Python、Node、Go 或 PATH 充当运行环境。省略目标时使用本机架构,run/test 始终在本机执行。ARM64 应用目标不表示提供 ARM64 宿主编译器,macOS、Windows 宿主安装暂未提供。
Linux 外部调用使用受管子进程和 pidfd,不再依赖嵌套 namespace、Bubblewrap 或 Dever 专用 AppArmor 策略。代码直接继承容器用户权限,只运行可信依赖;镜像、设备、挂载与网络权限由部署侧管理。
## 更新与选择版本
```sh
sudo dever update
dever version
dever skill path
```
update 同步准备核心、配套 skill 和当前已安装的可选扩展,全部成功后才切换活动版本;未使用的扩展不下载,失败保留原活动版本。普通 check/test/run/build 不检查更新、不隐式联网。更新不改业务项目文件或数据库。
项目可在 `config/setting.json` 的 `dever.version` 锁定准确 `major.minor.patch`,未锁定时使用机器活动版本。`sudo dever install <版本>` 准备指定版本,`sudo dever use <版本>` 切换活动版本;项目锁定仍优先于活动版本。已有项目用 `dever skill path <project-root>` 读取对应指引,不仅凭最新指南采用新语法。
旧安装若仍访问已停用的下载地址,重新执行上述安装命令,再使用正常 update。该操作需要同样的机器安装权限。