Ferramentas CLI Baseadas em Rust
Terminais modernos misturam ferramentas Unix clássicas com substituições em Rust: busca mais rápida, padrões melhores e ergonomia que se acumulam diariamente.
Receita
# Instalações comuns (exemplo macOS brew)
brew install ripgrep fd bat eza starship
# Ecossistema Rust via cargo
cargo install cargo-watch cargo-nextest-cli sqlx-cli --locked
cargo install cargo-binstall # instalações pré-compiladas mais rápidasQuando usar isso:
- Lista de verificação de integração para todo desenvolvedor Rust
- Acelerar a busca e navegação de arquivos
- Loop de desenvolvimento local (
cargo watch) correspondendo ao CI
Exemplo de Trabalho
# Loop de desenvolvimento
cargo watch -x 'test -p billing-api'
cargo nextest run --workspace
# Migrações de DB
sqlx migrate run
sqlx prepare --check
# Visualização de arquivo formatada com sintaxe
bat src/main.rs
eza -la --git-ignoreO que isso demonstra:
cargo-watchreexecuta testes ao salvarnextestexecutor de testes paralelosqlx-clicorresponde à versão do sqlx em tempo de execução
Mergulho Profundo
Caixa de Ferramentas Recomendada
| Ferramenta | Substitui | Função |
|---|---|---|
rg | grep | Busca de código |
fd | find | Descoberta de caminhos |
bat | cat | Visualização com destaque de sintaxe |
eza | ls | Listagem ciente de Git |
zoxide | cd | Salto inteligente de diretório |
starship | PS1 | Rust/versão no prompt |
duf | df | Visão geral do uso de disco |
bottom / btm | top | Métricas TUI |
Ferramentas cargo-*
cargo-audit, cargo-deny, cargo-outdated, cargo-expand, leptosfmt (se Leptos) - adicione conforme as necessidades do projeto.
Armadilhas
- cargo install sem
--locked- quebras de dependência inesperadas. Correção:--lockedna instalação. - PATH não atualizado -
~/.cargo/binausente. Correção: snippet de shell rustup no perfil. - Ferramentas duplicadas - brew e cargo instalam
rg. Correção: escolher uma fonte de pacote. - SQLx-cli com versão desincronizada - incompatibilidade no formato de migração. Correção: fixar a versão da CLI na documentação de integração.
- Instalação pesada do cargo no CI - lento. Correção: usar binários pré-compilados ou cache
~/.cargo/bin.
Alternativas
| Alternativa | Usar Quando | Não Usar Quando |
|---|---|---|
| GNU coreutils | Container mínimo | Ergonomia de desenvolvimento diário |
| Nix dev shell | Versões exatas de ferramentas | Configuração rápida de laptop |
| mise/asdf | Pinos poliglota | Lojas apenas com rustup |
FAQs
Todos devem usar eza?
Não - as equipes listam ferramentas obrigatórias vs. opcionais na lista de verificação de integração.
Confiança no cargo-binstall?
Usa lançamentos do GitHub do projeto; verifique checksums para organizações sensíveis à segurança.
Relacionados
- Busca e regex
- Lista de verificação de configuração de toolchain
- Subcomandos úteis do cargo
- Melhores Práticas da CLI Linux
Versões da 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+.