rustup & Gerenciamento de Toolchain
rustup instala e alterna toolchains do Rust, componentes (clippy, rustfmt) e targets de cross-compilação. É a forma suportada de gerenciar Rust em máquinas de desenvolvedores e CI.
Receita
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup default stable
rustup toolchain install 1.97.0
rustup component add rustfmt clippy rust-analyzer
rustup target add wasm32-unknown-unknownQuando usar isso:
- Onboarding de novos desenvolvedores
- Fixando MSRV em toda a equipe
- Adicionando targets ARM ou musl para builds de release
Exemplo de Trabalho
# rust-toolchain.toml (repo root)
[toolchain]
channel = "1.97.0"
components = ["rustfmt", "clippy"]
targets = ["x86_64-unknown-linux-gnu"]cd my-repo
rustc --version # 1.97.0 via override
cargo clippyO que isso demonstra:
rust-toolchain.tomlseleciona automaticamente a toolchain no diretório- Componentes acompanham o canal fixado
- CI deve usar o mesmo pin via
dtolnay/rust-toolchain
Análise Detalhada
Canais
| Canal | Uso |
|---|---|
stable | Alinhamento de MSRV de produção |
beta | Prévia do próximo stable |
nightly | Miri, recursos instáveis |
Perfis
rustup set profile minimal em agentes de CI; default em laptops de desenvolvimento inclui rust-docs.
Armadilhas
apt install rustcda distro - versão antiga. Correção: apenas rustup; remova o rust do apt.- Componente esquecido -
clippynão encontrado. Correção:rustup component add clippy. - Confusão de override - stable global vs projeto 1.97. Correção: confie em
rust-toolchain.toml. - Mistura de caminhos WSL - rustup do Windows vs rustup do Linux. Correção: um ambiente por fluxo de trabalho.
- Uso de disco - muitas toolchains enchem o disco. Correção:
rustup toolchain liste remova as antigas.
Alternativas
| Alternativa | Use Quando | Não Use Quando |
|---|---|---|
| Nix flake | Shells de desenvolvimento reproduzíveis | Equipe não usa Nix |
| Imagem de dev Docker | CI/dev idêntica | Velocidade nativa do IDE preferida |
Plugin asdf para rust | Gerenciadores de versão poliglota | rustup padrão é suficiente |
FAQs
Como desinstalar toolchains antigas?
rustup toolchain uninstall 1.75.0
rust-analyzer com versão errada?
Certifique-se de que o VS Code usa o componente rust-analyzer do rustup, não um binário autônomo incompatível.
Múltiplos projetos com MSRV diferente?
O rust-toolchain.toml de cada repo é aplicado ao entrar no diretório (cd).
Relacionados
- Checklist de Configuração de Toolchain
- Cross-compilação
- Ferramentas de Build e Inspeção
- Configuração de CI para Rust
Versões de Stack: Esta página foi escrita para Rust 1.97.0 (edição 2024), Tokio 1.x, Axum 0.8, serde 1.0, sqlx 0.8, clap 4, e Polars 0.46+.