No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Cargo (dependencias)

11/20
Recursos

Todo lenguaje de programaci贸n tiene su gestor de dependencias. Composer para PHP, NPM o Yarn para Javascript, Pip para Python, Maven para Java, entre otros. En Rust utilizamos Cargo.

Gestor de dependencias en Rust

Cargo posee una importante cantidad de dependencias desarrolladas por la comunidad del lenguaje. Puedes encontrar y buscar las dependencias que necesitas en Crates.io que es el repositorio de dependencias de Rust que Cargo usa para descargarlas.

Instalaci贸n de una dependencia

Para instalar una dependencia que sea de tu inter茅s para tu proyecto, basta con agregar manualmente el nombre seguido de la versi贸n de la misma al archivo Cargo.toml debajo de la secci贸n [dependencies].

[package]
name = "platzi-curso-rust"
version = "0.1.0"
edition = "2021"

[dependencies]
regex = "1.6.0"

La pr贸xima vez que realices un cargo run, este detectar谩 que la dependencia no se encuentra instalada y realizar谩 la instalaci贸n de la misma.
Realiza la acci贸n contraria de borrar la dependencia manualmente para que Cargo lo detecte y borre la misma de tu proyecto.

Consejo: Llevar un control de tus dependencias es muy importante. Trata de tener la lista ordenada desde las dependencias m谩s importantes a las menos importantes. O mejor a煤n, ordenalas alfabeticamente.

Utilizaci贸n de una dependencia

Para utilizar una dependencia en tu proyecto, realiza la importaci贸n de la siguiente manera:

use regex::Regex;

fn main() {
    // ...
}

De esta manera, la dependencia estar谩 lista para su utilizaci贸n en tu c贸digo.

Nota: Observa que Cargo genera un nuevo archivo en la ra铆z de tu proyecto llamado Cargo.lock. El mismo contiene las versiones exactas de tus librer铆as para que todos los desarrolladores, y en todos los ambientes del proyecto, se utilice las mismas versiones y evitar problemas de compatibilidad entre las mismas. Es muy importante que versiones este archivo en Git.

Consejos sobre utilizaci贸n de dependencias de terceros

Las buenas dependencias desarrolladas por la comunidad de Rust suelen tener una documentaci贸n de uso, adem谩s de estar actualizadas. Aseg煤rate, antes de descargar cualquier dependencia, de chequear qui茅n la desarrolla, qu茅 cantidad de descargar por semana posee, revisar cu谩ndo recibi贸 su 煤ltima actualizaci贸n en el repositorio oficial de la misma (normalmente en GitHub).

Algunos consejos que te permitir谩n seleccionar buenas dependencias, sin bugs y que no generen problemas de seguridad en tu aplicaci贸n.

Cargo es un poderoso gestor de dependencias, pero es m谩s que la instalaci贸n de librer铆as de terceros que necesites. Explora sus m煤ltiples usos con el comando cargo --help para visualizar por consola todas sus posibilidades.


Contribuci贸n creada por: Kevin Fiorentino.

Aportes 6

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Cargo tiene su propia documentaci贸n, para hacer cosas como instalar las dependencias v铆a CLI, actualizarlas, eliminarlas, etc!

.
Es conocida como The Cargo Book, y la puedes encontrar en este enlace
.
Y dado que Cargo se encarga de m谩s cosas que solo instalar dependencias, puedes ver los comandos que tiene para estas mismas en esta secci贸n 馃槈

Por si alguien le pasa, en mi caso me sali贸 primero esto en la terminal
Blocking waiting for file lock on package cache

Despu茅s de un rato (en mi caso s铆 dur贸 mucho) ya empieza a compilar, pero tarda mucho en traer dependencias por alguna raz贸n jsjs

Cargo es el simil de npm en Rust

Ahora mismo, ya hay otra versi贸n de regex de la indicada en el video

regex = "1.6.0"

El npm de javascript, el pip de python, el composer de php y todos los demas de rust

En VSCode tuve un problema con rust-analyzer al momento de a帽adir nuevas dependecias mostrado como un error de autenticaci贸n de git, ejecut茅 en la terminal el comando siguiente para actualizar la config:

cargo --config net.git-fetch-with-cli=true fetch