Linux 支持 Rust 开发
一 安装与配置 Rust 工具链
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shsource "$HOME/.cargo/env" 将 ~/.cargo/bin 加入 PATHrustc --version、cargo --versionsudo apt update && sudo apt install -y curl build-essential gcc makesudo dnf install -y curl cmake gcc 或 sudo yum install -y cmake gccexport RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustupexport RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup二 创建项目与常用工作流
cargo new my_project && cd my_projectcargo runcargo buildcargo build --releasesrc/main.rs:fn main() {
println!("Hello, world!");
}
cargo install rustfmtcargo install clippycargo doc三 编辑器与调试配置
{
"version": "2.0.0",
"tasks": [{ "label": "build", "type": "shell", "command": "cargo", "args": ["build"] }]
}
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"type": "gdb",
"preLaunchTask": "build",
"request": "launch",
"target": "${workspaceFolder}/target/debug/${workspaceFolderBasename}",
"cwd": "${workspaceFolder}",
"arguments": ""
}
]
}
四 容器化与 CI 实践
# 构建阶段
FROM rust:1.72.1-slim-buster AS builder
WORKDIR /app
COPY . .
RUN cargo build --release
# 运行阶段(scratch 极小基础镜像)
FROM scratch
COPY --from=builder /app/target/release/my_rust_server /app
CMD ["/app/my_rust_server"]
push、pull_requestcargo build → cargo test → 构建并推送镜像 → 部署到 K3s五 常见问题与排障
source "$HOME/.cargo/env",并检查 ~/.bashrc 或 ~/.zshrc 中是否包含 export PATH="$HOME/.cargo/bin:$PATH"rustup self uninstall 清理工具链