Pular para o conteúdo

Configurando o Ambiente

Antes de escrever qualquer código Rust, você precisa de três coisas:

  1. rustup - o instalador e gerenciador de versões oficial do Rust
  2. Toolchain - o compilador rustc, a biblioteca padrão e o Cargo, gerenciador de projetos e dependências
  3. Editor com suporte a Rust - para ter autocompletar, erros em tempo real e formatação automática

Na prática, você instala só o rustup, e ele cuida do resto.

Abra o terminal e execute o script oficial:

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

Escolha a instalação padrão (opção 1). Ao terminar, feche e reabra o terminal, ou carregue o ambiente na sessão atual:

Terminal window
source "$HOME/.cargo/env"

O Rust precisa de um linker para gerar executáveis. No Linux, instale as ferramentas de build da sua distribuição (por exemplo, sudo apt install build-essential no Ubuntu). No macOS, rode xcode-select --install.

  1. Baixe e execute o rustup-init.exe em rustup.rs
  2. O instalador verifica se as Visual Studio C++ Build Tools estão presentes. Se não estiverem, ele oferece instalá-las - aceite, porque o Rust usa o linker da Microsoft no Windows
  3. Escolha a instalação padrão e reabra o terminal ao final

Também é possível instalar com:

Terminal window
winget install Rustlang.Rustup
Terminal window
rustc --version
cargo --version
rustup --version

A saída deve ser algo como:

rustc 1.X.Y (abcdef123 AAAA-MM-DD)
cargo 1.X.Y (abcdef123 AAAA-MM-DD)
rustup 1.X.Y (abcdef123 AAAA-MM-DD)

O Rust lança uma versão estável nova a cada seis semanas. Para atualizar:

Terminal window
rustup update

O rustup também gerencia canais (stable, beta, nightly) e componentes extras. Os dois componentes que você vai usar desde o início já vêm na instalação padrão:

  • rustfmt - formatador oficial (cargo fmt)
  • clippy - linter com centenas de sugestões para deixar o código mais idiomático (cargo clippy)

Se algum estiver faltando:

Terminal window
rustup component add rustfmt clippy

A documentação completa (incluindo o livro oficial) também é instalada localmente e funciona offline:

Terminal window
rustup doc --book
EditorComo configurar
VS CodeInstale a extensão rust-analyzer
RustRoverIDE da JetBrains dedicada ao Rust
ZedEditor com suporte nativo a Rust via rust-analyzer
Neovim / VimConfigure o rust-analyzer pelo cliente LSP de sua preferência

O rust-analyzer é o language server oficial do Rust. Ele mostra os tipos inferidos direto no editor - uma ajuda enorme enquanto você aprende ownership e borrowing.

Ative a opção de formatar ao salvar para o rustfmt cuidar do estilo do código.

Terminal window
cargo new ola-rust
cd ola-rust

O Cargo cria esta estrutura (e já inicializa um repositório Git):

ola-rust/
├── Cargo.toml -> manifesto: nome, versão, edition e dependências
└── src/
└── main.rs -> ponto de entrada do programa

O Cargo.toml gerado:

[package]
name = "ola-rust"
version = "0.1.0"
edition = "2024"
[dependencies]

A edition define o conjunto de regras da linguagem usado pelo projeto. Projetos de editions diferentes funcionam juntos sem problemas.

O src/main.rs já vem com um Hello World:

fn main() {
println!("Hello, world!");
}

Execute:

Terminal window
cargo run
Compiling ola-rust v0.1.0 (/caminho/ola-rust)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.50s
Running `target/debug/ola-rust`
Hello, world!
ComandoO que faz
cargo new nomeCria um projeto executável (use --lib para uma biblioteca)
cargo runCompila e executa o projeto
cargo buildCompila em modo de desenvolvimento (target/debug/)
cargo build --releaseCompila com otimizações (target/release/)
cargo checkVerifica se o código compila, sem gerar binário - bem mais rápido
cargo testExecuta os testes
cargo fmtFormata o código
cargo clippyRoda o linter
cargo add crateAdiciona uma dependência ao Cargo.toml
cargo doc --openGera e abre a documentação do projeto e das dependências

Dica: enquanto estiver programando, use cargo check com frequência. Ele dá o mesmo retorno do compilador em uma fração do tempo.

Para testar um trecho rápido, use o Rust Playground no navegador. Ele roda o código, aplica rustfmt e clippy e permite compartilhar o resultado por link.

cargo: command not found ou 'cargo' não é reconhecido

Seção intitulada “cargo: command not found ou 'cargo' não é reconhecido”

O diretório ~/.cargo/bin (no Windows, %USERPROFILE%\.cargo\bin) não está no PATH. Reabra o terminal depois da instalação; se continuar, adicione o diretório manualmente.

As Visual Studio C++ Build Tools não estão instaladas. Instale-as pelo Visual Studio Installer com a carga de trabalho “Desenvolvimento para desktop com C++”.

Falta um compilador C no sistema. Instale build-essential (Debian/Ubuntu) ou o pacote equivalente da sua distribuição.