0Pricing
Learn Rust Coding · Lección

Crates y raíz del crate

Estructura del proyecto

Crates y raíz del crate es una lección gratuita de Learn Rust Coding en CoddyKit. Esta es la lección 4 de 4. 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 4 lecciones en total.

¿Qué es un crate?

Un crate es la unidad más pequeña con la que trabaja el compilador de Rust. Hay dos tipos: un crate binario, que se compila como ejecutable, y un crate de biblioteca, del que depende otro código.

Binario frente a biblioteca

Un crate binario tiene una función main y produce un programa que puede ejecutar. Un crate de biblioteca no tiene main; expone elementos reutilizables para otros crates.

  • Raíz del binario: src/main.rs
  • Raíz de la biblioteca: src/lib.rs

La raíz del crate

La raíz del crate es el archivo de código fuente desde el que comienza el compilador. Es la parte superior del árbol de módulos, y la palabra clave crate en una ruta hace referencia a ella.

fn main() {
    crate::greet();
}

fn greet() {
    println!("hello from the crate root");
}

Cargo y los paquetes

Un paquete consta de uno o más crates gestionados por Cargo y se describe en Cargo.toml. Un paquete contiene como máximo un crate de biblioteca y cualquier cantidad de crates binarios.

Cargo se encarga de compilar, probar y gestionar las dependencias.

Un Cargo.toml mínimo

El manifiesto declara el nombre, la versión y las dependencias del paquete. Cargo lo lee para saber cómo compilar el proyecto.

  • [package] — nombre, versión, edición
  • [dependencies] — crates externos

Estructura estándar de un proyecto

Cargo espera una estructura convencional:

  • src/main.rs — raíz del crate binario
  • src/lib.rs — raíz del crate de biblioteca
  • src/bin/ — binarios adicionales
  • tests/ — pruebas de integración

Seguir la convención significa no tener que configurar nada.

Los módulos viven bajo la raíz

La raíz del crate puede declarar módulos, que forman el árbol de módulos. Todo lo que construya depende de este único archivo raíz.

mod utils {
    pub fn shout(s: &str) -> String {
        s.to_uppercase()
    }
}

fn main() {
    println!("{}", utils::shout("crate"));
}

Separar el código en archivos

Cuando la raíz declara mod utils; con punto y coma, Cargo carga src/utils.rs. El contenido del archivo se convierte en el cuerpo de ese módulo, manteniendo un único árbol distribuido entre varios archivos.

Usar una biblioteca desde un binario

En un paquete que contiene tanto lib.rs como main.rs, el binario hace referencia a la biblioteca mediante el nombre del paquete. La biblioteca expone elementos pub que el binario utiliza.

Esta separación mantiene la lógica en la biblioteca y el punto de entrada ligero.

Añadir dependencias

Ejecute cargo add rand o edite [dependencies] en Cargo.toml. Cargo descarga el crate de crates.io y lo pone a disposición de use.

Cargo también fija las versiones exactas en Cargo.lock para permitir compilaciones reproducibles.

La visión general

De menor a mayor: módulo < crate < paquete. Los módulos organizan un crate; la raíz del crate sirve de ancla para el árbol; el paquete y Cargo lo conectan todo.

Comprobación rápida

Compruebe cuánto sabe sobre la estructura de los proyectos.

Resumen

Ha aprendido la estructura de los proyectos:

  • Un crate es un binario o una biblioteca
  • La raíz del crate (main.rs o lib.rs) sirve de ancla para el árbol de módulos
  • Un paquete agrupa crates y se describe mediante Cargo.toml
  • Cargo gestiona la estructura, las compilaciones y las dependencias

Preguntas frecuentes

¿La lección «Crates y raíz del crate» es gratis?

Sí — el texto completo de «Crates y raíz del crate» 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 4 lecciones en total.

¿Qué aprenderé en «Crates y raíz del crate»?

Estructura del proyecto 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 4 de 4.

¿Cuánto tiempo toma la lección «Crates y raíz del crate»?

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. Módulos y mod
  2. pub y visibilidad
  3. use y rutas
  4. Crates y raíz del crate
← Volver a Learn Rust Coding