Aprenda a usar Cargo and Crates para agilizar el proceso de trabajo con paquetes de terceros en Rust.

Los paquetes de terceros son una parte esencial del desarrollo de software moderno. Los paquetes de terceros ayudan a ahorrar tiempo y aumentar la productividad, ya que está reutilizando el código preescrito y probado.

Rust proporciona un excelente soporte para trabajar con paquetes de terceros. El ecosistema de Rust alberga muchos paquetes de terceros que puede usar para acelerar su flujo de trabajo de desarrollo.

Con la herramienta de gestión de paquetes integrada de Rust, Carga, puede instalar, administrar y desinstalar paquetes de terceros.

Cargo es una herramienta de gestión de paquetes de línea de comandos integrada en Rust: el nuevo lenguaje de programación más emocionante. Es similar a otros administradores de paquetes como npm para Node.js y pipa para Python, que permite a los desarrolladores de Rust descargar, compilar y administrar las dependencias de los paquetes de Rust. Cargo también proporciona funcionalidad de distribución de paquetes y construcción.

Además, Cargo es el administrador de dependencias, el sistema de compilación, el marco de prueba y la herramienta de generación de documentación de Rust.

La herramienta Cargo CLI es la interfaz principal para usar Cargo. Después de instalar Rust, puede ejecutar el ayuda de carga Comando para ver las diversas funcionalidades que ofrece Cargo.

ayuda de carga

El comando genera las instrucciones de uso para la herramienta Cargo CLI.

Además, puede agregar un comando como argumento al ayuda comando para ver las instrucciones de uso de un comando específico.

ayuda de carga nuevo

El ayuda nueva El comando genera las instrucciones de uso para el nuevo comando responsable de crear nuevos proyectos de Rust.

Utilizando el en eso comando, puede crear un nuevo paquete de carga en un directorio existente.

inicio de carga

Además, puede utilizar el correr, construir, y instalar Comandos para ejecutar, compilar e instalar sus programas Rust.

// ejecuta proyectos inmediatamente
carrera de carga

// construye proyectos y genera ejecutables
construcción de carga

// instala paquetes como ejecutables en el directorio /bin
instalación de carga

El correr comando ejecuta el paquete. El construir El comando compila el paquete y el instalar El comando instala un binario de Rust.

Trabajar con cajas

Las cajas son una parte crucial del sistema de módulos de Rust, ya que permiten la creación de código modular y reutilizable. Con Cargo and crates, puede crear y publicar paquetes fácilmente.

Una caja es simplemente una unidad de empaquetado de código. Un Crate puede ser una biblioteca o un ejecutable que contenga todo el código, la documentación y los metadatos necesarios para que el compilador de Rust cree y ejecute el código.

Una caja es una caja que contiene todas las herramientas y materiales necesarios para completar un proyecto. Los cajones son autónomos y puede usarlos de forma independiente o junto con otros cajones para crear una aplicación más compleja.

Cargo facilita la búsqueda y el uso de cajas de terceros para su aplicación al conectarse a un registro central (cajas.io) que alberga cajas de código abierto.

Puede buscar cajas con el búsqueda de carga comando seguido del nombre de la caja.

servicio de busqueda de carga

El comando devolverá una lista de cajas que coinciden con el término de búsqueda.

Una vez que haya encontrado la caja que necesita, puede agregar la caja a sus dependencias en el Cargo.toml archivo.

Además, puedes publicar tus cajas en Crates.io desde tu terminal con Cargo. Deberá crear una cuenta en el sitio web e iniciar sesión con el inicio de sesión de carga comando que le pedirá que pegue el token API del sitio web. Entonces puedes publicar tu caja con el publicar dominio.

publicación de carga

El comando carga su caja en el sitio web donde otros desarrolladores de Rust pueden instalarla y usarla en sus proyectos.

Gestión de dependencias con cargo

La administración de dependencias es crucial para garantizar que su código esté actualizado, sea seguro y confiable. Deberá actualizar las dependencias para corregir errores, mejorar el rendimiento o agregar nuevas funciones; de lo contrario, corre el riesgo de usar bibliotecas obsoletas o inseguras que pueden dañar su proyecto.

La administración de dependencias también le permite controlar las versiones de las bibliotecas, evitar conflictos entre bibliotecas y reducir el tamaño de su base de código mediante el uso de funciones preconstruidas.

Búsqueda e instalación de paquetes de terceros

Cargo automatiza la búsqueda, instalación y actualización de bibliotecas para su proyecto, lo que garantiza que sus dependencias sean compatibles y estén actualizadas mediante el Cargo.toml archivo que enumera todas las dependencias de su proyecto y sus versiones.

Una vez que haya encontrado el paquete de terceros para su aplicación con el búsqueda de carga comando, puede instalar el paquete como una dependencia con el instalación de carga dominio.

instalación de carga 

Al ejecutar el comando, Cargo descargará el paquete y sus dependencias y los instalará en su máquina.

Adición de dependencias a Cargo.toml

Puede agregar dependencias a su Cargo.toml para instalarlos agregando el nombre del paquete y la versión al [dependencias] sección de la Cargo.toml archivo.

[dependencias]
nombre_paquete = "1.0.0"

Aquí hay un ejemplo de cómo puede agregar el popular Serde paquete como una dependencia en su archivo Cargo.toml mientras especifica una versión y características.

[dependencias]
serde = { versión = "1.0.154", características = ["derive"] }

Esto especifica que desea instalar la versión 1.0.154 del Serde paquete con el derivar característica.

Después de instalar el paquete, puede proceder a importar el paquete a sus archivos de Rust.

use serde::{Serializar, Deserializar};

La declaración de importación con el usar palabra clave trae la Fabricar en serie y deserializar rasgos en el alcance actual, lo que le permite usarlos para implementar la serialización y deserialización para sus tipos de datos de Rust.

También puede especificar rangos de versión con el símbolo de intercalación (^).

[dependencias]
serde = { versión = "^1.0.154", características = ["derive"] }

La instrucción especifica que desea utilizar el Serde versión del paquete compatible con la versión 1.0.154.

Actualización de dependencias

Puede actualizar las dependencias con el actualizar dominio. El actualizar El comando busca actualizaciones para sus dependencias y las descarga e instala si están disponibles.

actualización de carga

Eliminar dependencias

Finalmente, puede eliminar un paquete de su proyecto eliminando el nombre y la versión de su Cargo.toml sección de dependencia del archivo o desinstalar paquetes con el desinstalar dominio.

desinstalación de carga 

El comando desinstala el paquete y elimina las dependencias redundantes. Esto es útil para liberar espacio en disco y mantener limpio su entorno de desarrollo. La desinstalación de un paquete no eliminará el código ni los datos asociados con el paquete de sus proyectos de Rust. Tendrás que hacerlo manualmente.

Organice su código Rust para la eficiencia

Los paquetes de terceros cambian las reglas del juego cuando se crean aplicaciones complejas, y es increíble cómo puede pasar de cero a héroe rápidamente con los paquetes de terceros disponibles en el registro de paquetes de Cargo.

Debe organizar su código durante el desarrollo para maximizar la eficiencia y la mantenibilidad. La organización del código de Rust incluye el uso de módulos, la separación de preocupaciones, el seguimiento de las convenciones de nomenclatura y el mantenimiento del código SECO (no se repita).