---
title: "Guia Completo do Rustup"
url: "https://rustlang.com.br/instalacao/rustup/"
markdown_url: "https://rustlang.com.br/instalacao/rustup.MD"
description: "Guia completo do rustup: instalar, atualizar, gerenciar toolchains stable/beta/nightly, targets, componentes, overrides e self update."
date: "2026-02-23"
author: "Equipe Rust Brasil"
---

# Guia Completo do Rustup

Guia completo do rustup: instalar, atualizar, gerenciar toolchains stable/beta/nightly, targets, componentes, overrides e self update.


O **rustup** é o instalador e gerenciador oficial de toolchains do Rust. Ele permite instalar, atualizar e alternar entre diferentes versões do compilador, adicionar targets de compilação cruzada e gerenciar componentes como clippy e rustfmt. Neste guia completo, vamos explorar todos os recursos do rustup.

## Instalar o Rustup

### Linux e macOS

```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```

Para guias detalhados por sistema operacional, consulte:
- [Ubuntu](/instalacao/ubuntu/) | [Fedora](/instalacao/fedora/) | [Arch Linux](/instalacao/arch-linux/) | [Debian](/instalacao/debian/)
- [macOS](/instalacao/macos/)

### Windows

Baixe e execute o `rustup-init.exe` de [rustup.rs](https://rustup.rs) ou veja o [guia de instalação no Windows](/instalacao/windows/).

### Verificar a instalação

```bash
rustup --version
rustup show
```

## Gerenciar Toolchains

O Rust oferece três canais de release:

| Canal | Frequência | Estabilidade | Uso |
|-------|-----------|-------------|-----|
| **stable** | A cada 6 semanas | Garantia de compatibilidade | Produção |
| **beta** | A cada 6 semanas | Pré-release do próximo stable | Teste de compatibilidade |
| **nightly** | Diariamente | Features experimentais | Desenvolvimento avançado |

### Instalar Toolchains

```bash
# Instalar stable (padrão)
rustup toolchain install stable

# Instalar nightly
rustup toolchain install nightly

# Instalar beta
rustup toolchain install beta

# Instalar versão específica
rustup toolchain install 1.80.0

# Instalar nightly de uma data específica
rustup toolchain install nightly-2026-02-20
```

### Listar e Remover

```bash
# Listar toolchains instaladas
rustup toolchain list

# Remover uma toolchain
rustup toolchain uninstall nightly

# Ver informações detalhadas
rustup show
```

### Definir Toolchain Padrão

```bash
# Definir stable como padrão global
rustup default stable

# Definir nightly como padrão global
rustup default nightly

# Usar uma toolchain pontualmente (sem alterar padrão)
cargo +nightly build
cargo +beta test
rustc +nightly --version
```

## Overrides por Projeto

Você pode definir uma toolchain específica para cada diretório de projeto:

### Método 1: Override por diretório

```bash
cd meu-projeto
rustup override set nightly

# Verificar
rustup show active-toolchain

# Remover override
rustup override unset
```

### Método 2: Arquivo rust-toolchain.toml (Recomendado)

Crie um `rust-toolchain.toml` na raiz do projeto:

```toml
[toolchain]
channel = "nightly-2026-02-20"
components = ["rustfmt", "clippy", "rust-analyzer"]
targets = ["wasm32-unknown-unknown"]
profile = "default"
```

**Vantagem:** Este arquivo é versionado com o código, garantindo que toda a equipe use a mesma toolchain.

### Método 3: Arquivo rust-toolchain (legado)

```
nightly-2026-02-20
```

Prefira o formato TOML, que é mais expressivo.

## Componentes

Componentes são partes opcionais da toolchain:

### Listar Componentes

```bash
# Componentes instalados
rustup component list --installed

# Todos os componentes disponíveis
rustup component list
```

### Componentes Mais Usados

```bash
# Formatador de código
rustup component add rustfmt

# Linter
rustup component add clippy

# Language Server Protocol
rustup component add rust-analyzer

# Código-fonte da stdlib (necessário para IDEs)
rustup component add rust-src

# Documentação offline
rustup component add rust-docs

# LLVM tools (necessário para cobertura de código)
rustup component add llvm-tools-preview

# Miri (interpretador para detecção de undefined behavior)
rustup component add miri --toolchain nightly
```

Para configurar seu editor com estes componentes, veja o [guia de VS Code](/instalacao/vscode/) ou [Neovim](/instalacao/neovim/).

## Targets (Compilação Cruzada)

Targets permitem compilar para diferentes plataformas sem sair do seu sistema:

### Listar Targets

```bash
# Targets instalados
rustup target list --installed

# Todos os targets disponíveis
rustup target list
```

### Adicionar Targets Comuns

```bash
# Linux musl (binários estáticos)
rustup target add x86_64-unknown-linux-musl

# WebAssembly
rustup target add wasm32-unknown-unknown
rustup target add wasm32-wasi

# Windows (a partir do Linux/macOS)
rustup target add x86_64-pc-windows-gnu

# macOS ARM (a partir do Intel)
rustup target add aarch64-apple-darwin

# ARM Linux (Raspberry Pi)
rustup target add armv7-unknown-linux-gnueabihf
rustup target add aarch64-unknown-linux-gnu

# Android
rustup target add aarch64-linux-android
rustup target add armv7-linux-androideabi
```

### Compilar para um Target

```bash
cargo build --target x86_64-unknown-linux-musl
cargo build --target wasm32-unknown-unknown
```

Para um guia completo sobre compilação cruzada, veja [Cross-Compilation em Rust](/instalacao/cross-compilation/).

## Profiles

Profiles controlam quais componentes são instalados por padrão:

```bash
# Minimal: apenas rustc e cargo
rustup set profile minimal

# Default: rustc, cargo, rustfmt, clippy, rust-docs
rustup set profile default

# Complete: todos os componentes disponíveis
rustup set profile complete
```

O profile `minimal` é ideal para CI/CD (veja [GitHub Actions](/instalacao/github-actions/)), enquanto `default` é recomendado para desenvolvimento.

## Atualizar o Rust

```bash
# Atualizar todas as toolchains e o próprio rustup
rustup update

# Atualizar apenas uma toolchain
rustup update stable
rustup update nightly

# Ver o changelog da versão instalada
rustup doc --release-notes
```

### Atualizar o Próprio Rustup

```bash
rustup self update
```

> **Nota:** Em algumas distribuições Linux que instalam rustup via gerenciador de pacotes, o `self update` pode estar desabilitado. Atualize pelo gerenciador do sistema.

## Documentação Offline

O rustup instala documentação completa do Rust localmente:

```bash
# Abrir a documentação no navegador
rustup doc

# Abrir a referência da stdlib
rustup doc --std

# Abrir o Rust Book
rustup doc --book

# Abrir a referência de uma crate da stdlib
rustup doc std::collections::HashMap
```

## Solução de Problemas

### Erro: "no override and no default toolchain set"

```bash
rustup default stable
```

### Erro: "component is not available for download"

Alguns componentes não estão disponíveis em todas as versões nightly. Use uma data específica:

```bash
# Verificar disponibilidade
rustup component add clippy --toolchain nightly
# Se falhar, tente uma data anterior
rustup toolchain install nightly-2026-02-19
rustup component add clippy --toolchain nightly-2026-02-19
```

### Espaço em disco

As toolchains podem ocupar bastante espaço. Para limpar:

```bash
# Remover toolchains não utilizadas
rustup toolchain uninstall nightly-2026-01-15

# Ver espaço usado
du -sh ~/.rustup/toolchains/*

# Limpar downloads em cache
rustup self clean
```

## Próximos Passos

Com o rustup dominado:

- Aprenda os comandos do [Guia Completo do Cargo](/instalacao/cargo/)
- Siga o tutorial de [Primeiros Passos com Rust](/tutoriais/primeiros-passos/)
- Consulte o [Cheatsheet Rust](/cheatsheet/) para referência rápida
- Explore [Cross-Compilation](/instalacao/cross-compilation/) para aproveitar os targets
- Veja as [Perguntas Frequentes](/faq/) para dúvidas comuns

Se você gerencia toolchains em outras linguagens, confira o [golang.com.br](https://golang.com.br) para comparar com o gerenciamento de versões do Go.

---

*Última atualização: 23 de fevereiro de 2026. Para remover o rustup e o Rust completamente, veja [Como Desinstalar Rust](/instalacao/desinstalar/).*
