Cargo.toml
Guia completo do manifesto Cargo.toml para bots Rust e aplicações web (site/API) na Discloud.
🗂️ O que é Cargo.toml?
Cargo.toml?Cargo.toml é o manifesto que define os metadados do seu pacote Rust (crate): nome, versão, autores, edição, dependências, recursos, scripts de build e mais. A Discloud depende dele para resolver e compilar seu projeto antes de iniciá-lo.
🛠️ Criando um Novo Projeto
1
Inicialize em diretório existente:
cargo init2
Crie um novo diretório automaticamente:
cargo new my_bot3
Adicione uma dependência rapidamente (Cargo 1.62+):
cargo add serenity📦 Exemplos
[package]
name = "discord_bot"
version = "0.1.0"
edition = "2021"
[dependencies]
serenity = { version = "0.11", default-features = false, features = [
"client", "gateway", "rustls_backend", "model" ] }
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
tracing = "0.1"
dotenvy = "0.15"Serenity é uma biblioteca da API do Discord: https://crates.io/crates/serenity
[package]
name = "axum_api"
version = "0.1.0"
edition = "2021"
[dependencies]
axum = "0.7"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
dotenvy = "0.15"Deve escutar em 0.0.0.0:8080.
[package]
name = "rocket_site"
version = "0.1.0"
edition = "2021"
[dependencies]
rocket = { version = "0.5.0", features = ["json"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"Requer toolchain nightly + bind na porta 8080.
🧰 Referência de Comandos Comuns
# Build debug
cargo build
# Build release
cargo build --release
# Executar
cargo run
# Adicionar dependência
cargo add <crate>
# Remover dependência
cargo rm <crate>
# Auditar (opcional; precisa cargo-audit)
cargo auditFerramentas opcionais:
cargo install cargo-edit cargo-outdated cargo-auditLast updated