安装rust:https://www.rust-lang.org/tools/install
windows安装
rustup-init 安装程序自动安装MSVC
安装时会提示选择默认选1,触发MSVC安装程序
或者手动安装:
安装https://visualstudio.microsoft.com/zh-hans/downloads/ 的Visual Studio 生成工具
安装时勾选使用 C++ 的桌面开发,确保有以下
- MSVC v14x C++ x64/x86 build tools
- Windows 10 SDK 或 Windows 11 SDK
- C++ CMake tools for Windows 可选,但建议装
安装完MSVC后继续按1,进行标准安装
ubuntu
安装工具链
sudo apt install -y curl build-essential pkg-config libssl-dev
安装rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
当前终端立刻生效
source "$HOME/.cargo/env"
安装完要做的
rustup update stable 更新 stable 工具链
检查版本
rustc --version 查看 Rust 编译器版本
cargo --version 查看 Cargo 版本
rustup --version 查看 rustup 版本
rustup default stable 设置默认 Rust 工具链为 stable
AI开发
LSP 服务:
rustup component add rust-analyzer 安装组件方便cli AI调用
rust-analyzer --version 检查是否生效
cargo watch -x run 服务热更新持续运行
waindows开发时项目中放置两个ps1脚本
ai-check.ps1
$ErrorActionPreference = "Stop"
cargo clippy --workspace --all-targets --message-format=short -- -D warnings
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
ai-verify.ps1
$ErrorActionPreference = "Stop"
& "$PSScriptRoot\ai-check.ps1"
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
cargo test --workspace
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
linux开发时创建两个sh文件
ai-check.sh:
#!/usr/bin/env bash
set -euo pipefail
cargo clippy --workspace --all-targets --message-format=short -- -D warnings
ai-verify.sh
#!/usr/bin/env bash
set -euo pipefail
"$(dirname "$0")/ai-check.sh"
cargo test --workspace
提示词:
## 自检规则
### 自检节奏
- **每次修改 Rust 代码后**(无论改动多小),必须立即运行 `./test/ai-check.sh`
- **完成一个完整功能切片后**(例如:新增了一个函数并补了对应测试、修复了一个 bug、完成了用户描述的一个独立需求),必须运行 `./scripts/ai-verify.sh`
- 准备向用户报告"任务完成"之前,必须运行 `./scripts/ai-verify.sh` 并确认通过
### 失败处理
- 脚本返回非零退出码 = 失败,**必须先修复所有错误**才能继续
- 修复后必须重新运行同一个脚本确认通过,不能凭"我觉得应该好了"判断
- 同一个错误**连续修复 3 次仍失败**,停止尝试,向用户说明卡在哪里、试过什么方案
- 不允许通过删除测试、注释代码、加 `#[allow(...)]` 等方式"绕过"错误,除非用户明确同意
### 输出阅读
- 必须真实阅读脚本输出,不能只看退出码
- clippy 警告等同于错误处理(脚本已用 `-D warnings` 强制)
vscode插件
rust-analyzer 官方rust插件
CodeLLDB 调试用
Even Better TOML 对toml高亮,rust使用toml做配置文件
Error Lens 错误直接显示在代码旁
命令
cargo -V 检测是否安装成功
编译配置文件
Cargo.toml:
[profile.release]
lto = "fat" # 开启链接时优化(更小/更快) # 开启链接时优化(更小/更快)
codegen-units = 1 # 提升最终优化质量(编译稍慢) # 提升最终优化质量(编译稍慢)
strip = true # 去掉符号表(减小体积,需较新工具链) # 去掉符号表(减小体积,需较新工具链)
panic = "abort" # 放弃回溯,进一步减小体积(按需) # 放弃回溯,进一步减小体积(按需)
# 网络/HTTPS,建议依赖 rustls 而非系统 OpenSSL,以免再引入系统库依赖(这个可选)
[dependencies]
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] } # 避免系统 OpenSSL # 纯 Rust TLS 更通用
tokio = { version = "1", features = ["rt-multi-thread", "macros"] } # 常见异步运行时 # 兼容性良好
工具链rust-toolchain.toml:
[toolchain]
channel = "1.79.0" # 选择你验证过的稳定版本 # 固定 Rust 版本,避免升级引入不确定性
components = ["rustfmt", "clippy"] # 可选:统一代码风格与静态检查 # 保持团队一致的工具
构建
构建并锁定依赖版本
cargo build --release --locked
纯rust时用musl静态,最少依赖
rustup target add x86_64-unknown-linux-musl 添加x86_64 +musl 目标
cargo build --release --locked --target x86_64-unknown-linux-musl 静态构建
跨平台构建
cargo install cargo-zigbuild 安装 zigbuild,一次即可
rustup target add aarch64-unknown-linux-musl 添加 ARM64 + musl 目标
cargo zigbuild --target aarch64-unknown-linux-musl --release 生成 ARM64 静态二进制
glibc动态编译
依赖 glibc 版本,与目标系统库集成时更方便
目标平台
Tier 1
x86_64-unknown-linux-gnu linux x86_64
i686-unknown-linux-gnu linux 32位
aarch64-unknown-linux-gnu linux arm64位
x86_64-pc-windows-msvc windows x86_64
x86_64-pc-windows-gnu windows x86_64
i686-pc-windows-msvc windows 32位
x86_64-apple-darwin 苹果x86_64
aarch64-apple-darwin苹果arm
静态无额外依赖,体积会更大
x86_64-unknown-linux-musl
aarch64-unknown-linux-musl
更多目标平台参考:https://doc.rust-lang.org/nightly/rustc/platform-support.html
卸载rust
rustup self uninstall