Learn Rust Coding · Lección

Gestión de dependencias con crates

Comprenda cómo Cargo gestiona crates externos (bibliotecas) y cómo publicar los suyos para que los utilice la comunidad.

Lección 2 de 312 pasos

Gestión de dependencias con crates es una lección gratuita de Learn Rust Coding en CoddyKit. Esta es la lección 2 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn Rust Coding, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn Rust Coding incluye 3 lecciones en total.

¿Qué son los crates y Cargo?

En Rust, un crate es la unidad fundamental de compilación y distribución. Puede considerarlo un paquete o una biblioteca que contiene su código.

Cargo es el gestor de paquetes y sistema de compilación oficial de Rust. Se encarga de todo, desde crear proyectos nuevos hasta gestionar dependencias, compilar código y ejecutar pruebas. ¡Es su mejor aliado para desarrollar en Rust!

El archivo `Cargo.toml`

Todo proyecto de Rust gestionado por Cargo tiene un archivo Cargo.toml en su directorio raíz. Este es el archivo de manifiesto del proyecto, escrito en TOML (Tom's Obvious, Minimal Language).

Define los metadatos del proyecto y, lo más importante, enumera sus dependencias.

Configuración del proyecto

La sección [package] de Cargo.toml contiene información esencial sobre su crate:

  • name: El nombre de su crate.
  • version: Su versión actual.
  • edition: La edición de Rust que se utilizará (por ejemplo, 2021).
  • authors: Las personas que lo crearon.

Estos datos son fundamentales, especialmente si tiene previsto publicar su crate.

Añadir dependencias

Para utilizar bibliotecas externas (otros crates) en su proyecto, debe enumerarlas en la sección [dependencies] de Cargo.toml.

Al compilar el proyecto, Cargo descarga y compila automáticamente estas dependencias desde crates.io, el registro central de paquetes de Rust.

Sintaxis de las dependencias

Así se declara una dependencia en su Cargo.toml:

[dependencies] rand = "0.8.5"

Esto indica a Cargo que obtenga la versión 0.8.5 del crate rand. También puede especificar rangos de versiones o rutas locales.

Usar un crate: ejemplo

Vamos a añadir el crate rand para generar un número aleatorio. Primero, asegúrese de que rand = "0.8.5" esté incluido en [dependencies]. Después, utilícelo en el código:

use rand::Rng; // Import the Rng trait

fn main() {
  let mut rng = rand::thread_rng(); // Create a random number generator
  let n: u8 = rng.gen_range(1..=10); // Generate a number between 1 and 10 (inclusive)
  println!("Your random number is: {}", n);
}

El archivo `Cargo.lock`

Después de compilar con dependencias, Cargo crea un archivo Cargo.lock. Este archivo registra las versiones exactas de todas las dependencias directas y transitivas utilizadas en el proyecto.

Esto garantiza que todas las personas que trabajan en el proyecto utilicen las mismas versiones de las dependencias, lo que permite obtener compilaciones reproducibles en distintos entornos.

Actualizar dependencias

Con el tiempo, sus dependencias pueden publicar nuevas versiones con correcciones de errores o nuevas funciones. Para actualizarlas, utilice el comando cargo update.

Este comando busca en crates.io versiones más recientes que cumplan los requisitos de versión de su Cargo.toml y actualiza Cargo.lock en consecuencia.

Publicar su propio crate

¿Quiere compartir su excelente código de Rust con la comunidad? ¡Puede publicar su propio crate en crates.io!

Antes de publicarlo, asegúrese de que su Cargo.toml tenga los metadatos adecuados, como description, license y enlaces a repository.

Comandos de publicación

El proceso es sencillo:

  1. Iniciar sesión: Utilice cargo login <token> con un token de API de crates.io.
  2. Publicar: Ejecute cargo publish desde el directorio raíz del proyecto.

¡Cargo realizará las comprobaciones, empaquetará su código y lo subirá para que otras personas puedan utilizarlo!

Comprobación rápida: Cargo y los crates

¿Cuáles de las siguientes afirmaciones sobre la gestión de paquetes de Rust con Cargo son verdaderas?

Repaso: gestionar dependencias

¡Ha aprendido cómo Cargo es esencial para gestionar proyectos de Rust y sus dependencias!

  • Los crates son paquetes de código reutilizables.
  • Cargo.toml define el proyecto y sus dependencias.
  • Cargo.lock garantiza compilaciones reproducibles.
  • Puede publicar sus propios crates en crates.io.

Este potente sistema hace que compartir y reutilizar código en Rust sea increíblemente eficiente y fiable.

Gratis para empezar

Aprende Rust con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
39
Lecciones
144

Preguntas frecuentes

¿La lección «Gestión de dependencias con crates» es gratis?

Sí — el texto completo de «Gestión de dependencias con crates» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn Rust Coding, actualiza a CoddyKit PRO. El curso de Learn Rust Coding incluye 3 lecciones en total.

¿Qué aprenderé en «Gestión de dependencias con crates»?

Comprenda cómo Cargo gestiona crates externos (bibliotecas) y cómo publicar los suyos para que los utilice la comunidad. Practicas Learn Rust Coding con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn Rust Coding?

No se requiere experiencia previa. Learn Rust Coding en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 3.

¿Cuánto tiempo toma la lección «Gestión de dependencias con crates»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn Rust Coding?

Sí. Cada lección de Learn Rust Coding incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Organización del código con módulos
  2. Gestión de dependencias con crates
  3. Gestión sólida de errores con `Result`
← Volver a Learn Rust Coding