Initial Dever 0.0.1
This commit is contained in:
commit
81233d098c
1479 files changed
+163782
No files matched your search
@@ -0,0 +1,64 @@
|
||||
# 安装 Dever
|
||||
|
||||
支持 Linux x86_64、glibc 2.41 及以上,已在 Debian 13 验证。应用开发只需安装 Dever,编译环境由安装包管理。
|
||||
|
||||
## 在线安装
|
||||
|
||||
```sh
|
||||
curl -fsSL https://git.dever.cc/dever/core/releases/download/v0.0.1/install | bash
|
||||
```
|
||||
|
||||
默认安装到 `~/.dever`。重新打开终端,或执行安装器打印的命令加载 PATH。
|
||||
|
||||
安装器先提供 Dever 命令,再后台下载编译环境。准备期间可使用 `new/fmt/check`;首次 `run/test/build` 会等待准备完成。下载中断后再次安装或构建即可继续。首次构建还会编译依赖,后续使用缓存。
|
||||
|
||||
CI 需要等待完整环境就绪:
|
||||
|
||||
```sh
|
||||
curl -fsSL https://git.dever.cc/dever/core/releases/download/v0.0.1/install | bash -s -- --wait
|
||||
```
|
||||
|
||||
| 选项 | 用途 |
|
||||
| --- | --- |
|
||||
| `--prefix <目录>` | 指定安装目录 |
|
||||
| `--no-modify-path` | 不修改终端启动文件 |
|
||||
| `--wait` | 等待编译环境就绪 |
|
||||
| `--release-url <地址>` | 使用自托管发行资源 |
|
||||
|
||||
需要 Bash、支持并行下载的 curl、tar、xz、sha256sum、flock、getconf 和 nohup。`RUSTUP_DIST_SERVER` 可指定受信任的工具链镜像。
|
||||
|
||||
同版本安装会复用已有文件。验证重新打包的 `0.0.1` 时使用新的 `--prefix` 目录。安装不覆盖项目、系统编译器或用户 Cargo 配置。
|
||||
|
||||
## 离线安装
|
||||
|
||||
从 [发布页](https://git.dever.cc/dever/core/releases/tag/v0.0.1) 下载完整开发包及校验文件,在可写目录解压:
|
||||
|
||||
```sh
|
||||
sha256sum -c dever-0.0.1-linux-x86_64-development.tar.xz.sha256
|
||||
tar -xf dever-0.0.1-linux-x86_64-development.tar.xz
|
||||
export PATH="$PWD/dever/bin:$PATH"
|
||||
dever new hello
|
||||
dever test hello
|
||||
dever run hello -- hello.greeting.greet '{"name":"Dever"}'
|
||||
```
|
||||
|
||||
完整包包含编译工具和离线依赖,无需另外安装 Rust、Cargo 或 GCC。外部 Python/JavaScript/Go 组件仍需准备它们各自的运行资源。
|
||||
|
||||
## 缓存与排错
|
||||
|
||||
在线安装的共享工具在 `toolchains/`,依赖缓存在 `cache/cargo/`;离线包使用包内 `toolchain/`。项目编译缓存位于安装包的 `rust/target/`。
|
||||
|
||||
环境准备失败时,命令会给出 `prepare.log` 路径;构建错误给出 `build.log` 路径。失败返回非零状态,修复后重试原命令。
|
||||
|
||||
安装包附 SHA-256,当前未签名。包中保留第三方许可证和工具版本记录。
|
||||
|
||||
## 交付程序
|
||||
|
||||
```sh
|
||||
dever build hello --output ./hello-app
|
||||
./hello-app hello.greeting.greet '{"name":"Dever"}'
|
||||
```
|
||||
|
||||
部署只携带业务二进制、配置和必要资源;目标系统仍须具备匹配的系统运行库。安装包可以搬到新目录,移动后可能需要重新编译缓存。
|
||||
|
||||
编译器作者组装安装包的方法见 [源码开发](../rust/README.md)。
|
||||
Reference in new issue
Block a user