installation - Error al instalar una caja a través de la carga: el paquete especificado no tiene binarios
rust rust-cargo (1)
Estoy tratando de instalar una caja Rust en mi sistema (Arch Linux) utilizando Cargo. Puedo buscar cajas y encontrar lo que necesito, por ejemplo:
$ cargo search curl | head -n3
Updating registry `https://github.com/rust-lang/crates.io-index`
curl (0.3.0) Rust bindings to libcurl for making HTTP requests
curl-sys (0.2.0) Native bindings to the libcurl library
Cuando intento instalarlo, aparece el siguiente error:
$ cargo install curl
Updating registry `https://github.com/rust-lang/crates.io-index`
error: specified package has no binaries
¿Qué significa esto? ¿Tengo que construirlo desde la fuente primero? ¿Cuál es el punto de Cargo si no lo instala en primer lugar?
$ uname -a
Linux 4.6.1-2-ARCH #1 SMP PREEMPT Thu Jun 2 15:46:17 CEST 2016 x86_64 GNU/Linux
$ rustc --version
rustc 1.9.0
$ cargo --version
cargo 0.10.0 (10ddd7d 2016-04-08)
cargo install
se utiliza para instalar paquetes binarios que se distribuyen a través de crates.io.
Si desea utilizar una caja como una dependencia, agréguela a su Cargo.toml
.
Lea la guía de introducción de Rust y la guía de introducción de Cargo para obtener más información. En breve:
cargo new my_project
cd my_project
echo ''curl = "0.3.0"'' > Cargo.toml
¡Sorprendentemente, puede instalar un subcomando de carga de terceros llamado cargo-edit utilizando cargo install
que facilita la modificación de su archivo Cargo.toml
para agregar dependencias!
cargo install cargo-edit
cargo add curl
Es importante tener en cuenta que cada proyecto de Cargo administra y compila un conjunto separado de dependencias ( información de fondo ). Por lo tanto, no tiene sentido instalar una biblioteca compilada . El código fuente para cada versión de una biblioteca se almacenará en caché localmente, evitando descargarlo varias veces.