Para começar a programar em Rust, é essencial configurar um ambiente de desenvolvimento completo e funcional. Rust oferece um ecossistema de ferramentas que simplificam a instalação, o gerenciamento de versões e a compilação de projetos. Nesta aula, você aprenderá a instalar o Rust usando o rustup, a entender o papel do cargo e do toolchain, e a configurar sua IDE preferida com suporte a Rust. Ao final, você será capaz de verificar se tudo está funcionando corretamente e estará pronto para escrever seu primeiro programa.

rustup, cargo e o toolchain

O rustup é o instalador oficial e gerenciador de versões do Rust. Ele permite instalar, atualizar e alternar entre diferentes versões do compilador rustc e das ferramentas associadas, como cargo. O rustup também gerencia os toolchains, que são conjuntos de ferramentas (compilador, bibliotecas padrão, etc.) para uma versão específica do Rust. Você pode ter múltiplos toolchains instalados (estável, beta, nightly) e alternar entre eles conforme a necessidade do projeto.

O cargo é o sistema de build e gerenciador de pacotes do Rust. Com ele, você pode criar novos projetos, compilar, executar testes, publicar bibliotecas e gerenciar dependências. O cargo é instalado automaticamente junto com o rustup. Já o toolchain define qual versão do rustc e do cargo será usada. Por padrão, o rustup instala o canal estável, mas você pode instalar o beta ou nightly com comandos simples.

# Exemplo de comandos rustup (executados no terminal)
rustup install stable
rustup default stable
rustup update
rustup toolchain list

Instalando no Linux, Windows e macOS

A instalação do Rust é feita de forma similar nos três sistemas operacionais, utilizando o rustup. Abaixo estão os passos específicos para cada plataforma.

Linux

No Linux, abra o terminal e execute o comando de instalação do rustup. O script baixará e instalará as ferramentas necessárias no diretório ~/.cargo/bin. Você precisará adicionar esse diretório ao PATH manualmente ou reiniciar o terminal.

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

Durante a instalação, escolha a opção padrão (1) para prosseguir. Após a conclusão, execute source $HOME/.cargo/env ou reinicie o terminal para que os comandos rustc e cargo estejam disponíveis.

Windows

No Windows, baixe o instalador executável do rustup em rustup.rs e execute-o. O instalador solicitará a instalação do Visual Studio C++ Build Tools, que é necessário para compilar código Rust. Você pode baixá-lo separadamente ou permitir que o instalador o faça automaticamente. Após a instalação, o PATH será configurado automaticamente, mas talvez seja necessário reiniciar o terminal ou o computador.

macOS

No macOS, o processo é semelhante ao Linux. Abra o Terminal e execute o comando:

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

O rustup será instalado em ~/.cargo/bin. Certifique-se de que o diretório está no PATH. Você pode adicionar a linha source $HOME/.cargo/env ao seu arquivo de perfil do shell (ex: .bashrc, .zshrc).

VSCode e rust-analyzer

O Visual Studio Code (VSCode) é uma das IDEs mais populares para desenvolvimento Rust, graças à extensão rust-analyzer. O rust-analyzer fornece autocompletar, diagnósticos, navegação de código, refatoração e muito mais. Para configurar:

  1. Instale o VSCode a partir do site oficial.
  2. Abra o VSCode e vá até a aba de Extensões (Ctrl+Shift+X).
  3. Pesquise por "rust-analyzer" e clique em Instalar.
  4. Opcionalmente, instale também a extensão "Even Better TOML" para suporte a arquivos Cargo.toml e "CodeLLDB" para depuração.

Após a instalação, ao abrir um projeto Rust (pasta contendo um arquivo Cargo.toml), o rust-analyzer será ativado automaticamente. Você pode verificar se está funcionando observando a barra de status inferior, onde aparecerá "Rust Analyzer" com indicadores de carregamento.

Verificando a instalação

Para garantir que o Rust foi instalado corretamente, execute os seguintes comandos no terminal e verifique as saídas:

rustc --version
cargo --version
rustup --version

Cada comando deve exibir a versão instalada. Por exemplo:

rustc 1.75.0 (8e29a0707 2024-01-25)
cargo 1.75.0 (1d0f6e9e9 2024-01-25)
rustup 1.26.0 (5af9b89c1 2023-10-26)

Se você vir números de versão, a instalação foi bem-sucedida. Caso contrário, verifique se o diretório .cargo/bin está no PATH. Você também pode criar um projeto de teste para confirmar que o cargo funciona:

cargo new hello_world
cd hello_world
cargo run

Isso criará um novo projeto, compilará e executará um programa que imprime "Hello, world!".

Referências

Exercícios

  1. Instale o Rust no seu sistema operacional usando o rustup. Após a instalação, execute rustc --version e cargo --version e anote as versões.
  2. ✓ Resposta: As versões exatas dependem da data de instalação. Exemplo: rustc 1.75.0 (8e29a0707 2024-01-25) e cargo 1.75.0 (1d0f6e9e9 2024-01-25). Se os comandos não forem reconhecidos, verifique se o diretório ~/.cargo/bin está no PATH e reinicie o terminal.
  3. Use o comando rustup toolchain list para listar os toolchains instalados. Quantos toolchains estão disponíveis? Qual é o padrão?
  4. ✓ Resposta: Geralmente, após a instalação padrão, há apenas o toolchain estável (ex: stable-x86_64-unknown-linux-gnu) marcado como padrão. O comando rustup toolchain list mostra todos os toolchains instalados e qual é o default (indicado por "(default)").
  5. Crie um novo projeto chamado meu_projeto usando o cargo. Navegue até o diretório do projeto e compile-o sem executar. Qual comando você usou?
  6. ✓ Resposta: Comandos:
    cargo new meu_projeto
    cd meu_projeto
    cargo build
    O comando cargo build compila o projeto sem executá-lo.
  7. No VSCode, instale a extensão rust-analyzer. Abra a pasta do projeto meu_projeto. O que aparece na barra de status inferior do VSCode indicando que o rust-analyzer está ativo?
  8. ✓ Resposta: Na barra de status inferior, à direita, aparece o texto "Rust Analyzer" seguido de um indicador (como uma chave ou spinner). Se estiver carregando, pode mostrar "Rust Analyzer: loading". Quando pronto, fica apenas "Rust Analyzer".
  9. Execute o comando rustup doc no terminal. O que acontece? Qual a utilidade desse comando?
  10. ✓ Resposta: O comando rustup doc abre a documentação local do Rust no navegador padrão. Ela inclui o livro, a referência da biblioteca padrão e outros recursos. É útil para consultar a documentação offline.

Boas práticas e observações finais

Mantenha o rustup sempre atualizado com rustup update. Utilize toolchains diferentes conforme a necessidade: rustup install nightly para experimentar funcionalidades instáveis. No Windows, a instalação do Visual Studio C++ Build Tools é essencial; caso enfrente erros, reinstale as ferramentas. Para projetos existentes, o rustup pode detectar automaticamente o toolchain definido no arquivo rust-toolchain.toml ou rust-toolchain. Por fim, explore o comando rustup help para conhecer todas as opções disponíveis.