Atualizando o Cargo para a versão mais recente: tutorial para desenvolvedores Rust

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução: por que seu Cargo pode estar desatualizado?



Você já executou cargo build e recebeu um erro estranho como resposta? Ou, talvez, um novo recurso do Rust que você tanto esperava simplesmente não funciona? Situação familiar: você abre o Stack Overflow, procura uma solução, e lá sugerem atualizar o Cargo. Mas como fazer isso? Afinal, no Rust não existe o comando cargo update --self (e, honestamente, seria simples demais).



Neste artigo, vamos analisar uma pergunta real com milhares de visualizações: "Is there a command to update Cargo to the latest official release?". Não vamos apenas dar o comando seco — vamos percorrer o caminho do problema até a solução, com exemplos de código, dicas e erros típicos. Se você programa em Rust há pelo menos uma semana, esta informação economizará horas de pesquisa no Google.



Vamos lá! 🚀



O que é o Cargo e por que ele precisa ser atualizado?



O Cargo não é apenas um gerenciador de pacotes. É o coração do ecossistema Rust. Ele é responsável pela compilação, teste, publicação de crates e, claro, pelo gerenciamento de dependências. Cada novo lançamento do Cargo traz melhorias: compilação mais rápida, novos comandos, correções de segurança.



Por exemplo, na versão 1.70 do Cargo, foi adicionado suporte nativo para cargo info, e na versão 1.75, uma saída de erros melhorada. Se você está preso em uma versão antiga, simplesmente não obtém esses recursos. Além disso, alguns crates podem passar a exigir um Cargo atualizado, e seu projeto pode parar de compilar.



Mas há um detalhe: o Cargo não se atualiza sozinho. Ele está vinculado ao compilador rustc, que por sua vez está vinculado à ferramenta Rustup. Lembre-se dessa combinação: Rustup → rustc → Cargo. Atualizando um, você atualiza tudo.



Por que não existe o comando cargo update --self?



Essa é uma pergunta frequente no Stack Overflow. A questão é que o Cargo não é um programa separado, mas sim parte do pacote Rust. Quando você instala o Rust via Rustup, você obtém rustc, cargo e outras utilidades com a mesma versão. Portanto, o comando cargo update existe, mas ele atualiza as dependências do seu projeto, e não o próprio Cargo.



Aqui está um erro típico de iniciante:



# Isso NÃO atualiza o Cargocargo update# Isso atualiza apenas as dependências em Cargo.lock


Para atualizar o próprio Cargo, é necessária uma abordagem diferente. E é simples — use o Rustup.



Método principal: atualização via Rustup



O Rustup é o instalador e gerenciador de versões oficial do Rust. Se você instalou o Rust através de rustup.rs, já possui esta ferramenta. Se não, está na hora de instalá-lo:



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


Após a instalação, verifique a versão atual:



rustc --versioncargo --version


Agora, para atualizar tudo para o lançamento estável mais recente, execute um único comando:



rustup update


Este comando atualizará o rustc, o cargo e todas as ferramentas associadas para a versão estável mais recente. A saída será algo como:



info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'info: latest update on 2024-01-25, rust version 1.75.0 (8e3999b4e 2024-01-25)info: downloading component 'cargo'info: installing component 'cargo'


Pronto! Agora seu Cargo está na versão mais recente.



Verificação após a atualização



É sempre bom confirmar que a atualização foi bem-sucedida. Escreva um programa simples em Rust e compile-o:



// main.rsfn main() {    println!("Cargo version: {}", env!("CARGO_PKG_VERSION"));        // Verificando se o novo recurso funciona    #[cfg(version_ge(1, 75))]    println!("Você está usando Cargo 1.75+!");}


Compile e execute:



cargo run


Se tudo funcionar, você está dentro do jogo. Se não, ve

Blogs

Book Recommendations