rustup是唯一靠谱的选择,因它自动安装完整工具链(含rustc、cargo等),支持多版本切换与更新,而系统包管理器的rustc版本滞后、缺组件且易冲突。

直接用 rustup 装,别碰系统包管理器里的 rustc 包——版本旧、没 cargo、不支持工具链切换,装了也白装。
为什么 rustup 是唯一靠谱的选择
Linux 发行版仓库里的 rust 包(比如 Ubuntu 的 rustc)只是个“快照”,通常落后 2~4 个稳定版本,且不带 cargo 或缺失 rust-src 组件,cargo build 一跑就报错。而 rustup 是 Rust 官方维护的安装器,它:
- 自动拉取最新 stable 工具链(含
rustc、cargo、rust-docs、rust-src) - 把二进制放在
$HOME/.cargo/bin,不污染系统路径,也不需要sudo - 后续能直接
rustup update升级,或rustup toolchain install nightly试新特性
curl | sh 执行后命令找不到?八成是漏了 source
脚本执行完会提示你运行 source "$HOME/.cargo/env",这步不能跳。否则 rustc、cargo 都在磁盘上躺着,shell 就是看不见。
- 运行后立刻验证:
cargo --version和rustc --version都得有输出 - 如果新开终端还是不行,检查
$HOME/.cargo/env是否存在,再确认~/.bashrc或~/.zshrc里加了source "$HOME/.cargo/env" - 别手动改
PATH——rustup生成的env文件已包含完整路径和 shell hook
国内用户卡在 downloading component 'rustc' 怎么办
这不是网络断了,是 rustup 默认从官方 CDN 下载被限速或超时。临时切清华源就能解决,但必须在运行安装脚本前设置:
- 先执行:
export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup - 再运行:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - 如果已经失败,先清理残留:
rm -rf $HOME/.rustup $HOME/.cargo,再重来 - 注意:
RUSTUP_UPDATE_ROOT是控制rustup自身更新的,和组件下载无关,别乱设
cargo build 报 error: linker `cc` not found
Rust 编译器不自带链接器,依赖系统 C 工具链。最小化安装的 Linux(比如 Docker 镜像、WSL2 精简版、云服务器)默认没装这个。
- Ubuntu/Debian:
sudo apt install build-essential(只装gcc不够,缺make、libc6-dev) - CentOS/RHEL/Fedora:
sudo dnf groupinstall "Development Tools" - Arch:
sudo pacman -S base-devel - 验证:
cc --version有输出,且cargo build不再报 linker 错误 - WSL2 用户建议额外装:
sudo apt install libssl-dev,避免某些 crate 编译失败
真正容易被忽略的是:工具链装完后,cargo new hello 能跑通 ≠ 环境就稳了;很多 crate(比如涉及 OpenSSL 或系统调用的)会在 cargo build 时才暴露 C 工具链缺失或镜像配置失效的问题。











