cargo adk build

Descripción general

El comando cargo adk build compila tu proyecto de agente ADK-Rust sin implementarlo. Esto te proporciona una forma rápida de verificar que tu agente se compila correctamente, detectando problemas de dependencias, errores de tipos y problemas de configuración antes de iniciar un ciclo completo de implementación.

Usa cargo adk build como parte de tu flujo de trabajo de desarrollo local y de tus canalizaciones de CI para validar los cambios con antelación, sin necesidad de credenciales de la plataforma ni acceso a la red.

Sintaxis del comando

cargo adk build [OPTIONS]

De forma predeterminada, el comando encapsula cargo build --release y tiene como destino tu proyecto de agente. Si la operación se realiza correctamente, informa del perfil de compilación, el directorio de destino y el tamaño del binario.

Indicadores y opciones

IndicadorDescripciónPredeterminado
--manifest-path <PATH>Ruta al archivo Cargo.toml. Útil al compilar desde fuera del directorio del proyecto.Directorio actual
--debugCompilar en modo de depuración en lugar del modo de lanzamiento. Compilación más rápida, pero binario sin optimizar.Modo de lanzamiento

Ejemplos

# Build in release mode (default)
cargo adk build

# Build in debug mode for faster iteration
cargo adk build --debug

# Build a project at a specific path
cargo adk build --manifest-path /path/to/my-agent/Cargo.toml

Construcción frente a implementación

cargo adk build y cargo adk deploy tienen diferentes propósitos en el ciclo de vida del desarrollo de agentes:

Aspectocargo adk buildcargo adk deploy
PropósitoCompilar y verificarCompilar, empaquetar y enviar a la plataforma
Red requeridaNoSí (servidor de la plataforma)
AutenticaciónNingunaToken requerido (--token o ADK_DEPLOY_TOKEN)
SalidaBinario local en target/Paquete de implementación cargado en la plataforma
Perfil de compilaciónVersión de lanzamiento (o depuración con --debug)Siempre versión de lanzamiento
Gestión de secretosNingunaCarga secretos desde .env
Manifiesto requeridoSolo Cargo.tomlCargo.toml + adk-deploy.toml
Caso de usoDesarrollo local, comprobaciones de CIImplementación en producción

Cuándo usar cada uno

  • cargo adk build — Úsalo durante el desarrollo para verificar la compilación, en canalizaciones de CI como requisito previo a la combinación, o para comprobar que las actualizaciones de dependencias no rompan tu agente.
  • cargo adk deploy — Úsalo cuando estés listo para enviar tu agente a la plataforma ADK. La implementación incluye internamente un paso de compilación (se puede omitir con --skip-build).

Ejemplos de uso

Compilación exitosa

$ cargo adk build
   Compiling adk-core v0.9.2
   Compiling adk-agent v0.9.2
   Compiling my-agent v0.1.0 (/home/user/my-agent)
    Finished `release` profile [optimized] target(s) in 42.3s
✅ Build successful
   profile: release
   target:  target/release
   binary:  target/release/my-agent (12.4 MB)

Compilación de depuración para iteraciones más rápidas

$ cargo adk build --debug
   Compiling my-agent v0.1.0 (/home/user/my-agent)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.1s
✅ Build successful
   profile: debug
   target:  target/debug
   binary:  target/debug/my-agent (45.2 MB)

Integración en una canalización de CI

# .github/workflows/ci.yml
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: dtolnay/rust-toolchain@stable
      - run: cargo install cargo-adk
      - run: cargo adk build

Escenarios de error y resolución

Dependencias faltantes

Síntoma: La compilación falla con errores de importación no resuelta.

error[E0432]: unresolved import `adk_tool`
 --> src/main.rs:3:5
  |
3 | use adk_tool::FunctionTool;
  |     ^^^^^^^^ use of undeclared crate or module `adk_tool`

Resolución: Añade el crate faltante a las dependencias de Cargo.toml:

[dependencies]
adk-tool = { version = "2.1.0", features = ["mcp"] }

Estructura de proyecto no válida

Síntoma: cargo adk build no puede encontrar Cargo.toml.

Error: failed to run cargo build: No such file or directory (os error 2)

Resolución: Ejecuta el comando desde la raíz de tu proyecto o especifica la ruta del manifiesto:

cargo adk build --manifest-path ./my-agent/Cargo.toml

Conflictos entre indicadores de características

Síntoma: La compilación falla debido a combinaciones de características incompatibles.

error: the package `my-agent` depends on `adk-realtime`, with features:
       `openai-webrtc` but `openai-webrtc` is not a feature of `adk-realtime`

Resolución: Comprueba que tus indicadores de características coincidan con las características disponibles para la versión de ADK que estás utilizando. Ejecuta cargo doc -p adk-realtime --open para ver las características disponibles o consulta la documentación del crate.

Archivo de bloqueo desactualizado

Síntoma: Errores de resolución de versiones después de actualizar crates de ADK.

error: failed to select a version for the requirement `adk-core = "^0.9.2"`

Resolución: Actualiza tu archivo de bloqueo:

cargo update
cargo adk build

Problemas del entorno de compilación

Síntoma: Errores del enlazador o bibliotecas del sistema faltantes.

error: linker `cc` not found

Resolución: Instala la cadena de herramientas de compilación requerida para tu plataforma:

# Ubuntu/Debian
sudo apt install build-essential pkg-config libssl-dev

# macOS
xcode-select --install

# Fedora/RHEL
sudo dnf install gcc openssl-devel

Memoria insuficiente durante la compilación

Síntoma: El proceso de compilación termina o falla con un error de asignación.

Resolución: Reduce el paralelismo o utiliza una máquina con más RAM:

# Limit parallel compilation jobs
CARGO_BUILD_JOBS=2 cargo adk build

# Or set in .cargo/config.toml
# [build]
# jobs = 2
cargo adk build - Documentación ADK-Rust | ADK-Rust