rust - servers - ¿La instalación de carga tiene un comando de actualización equivalente?
rust pirata 2018 (5)
Me gustaría actualizar un paquete que utilicé
cargo install
para instalar paquetes a nivel mundial, como rustfmt o racer.
No puedo encontrar una manera de actualizar un paquete instalado sin eliminarlo primero (a través de
cargo uninstall
) y luego ejecutar nuevamente el comando de instalación.
¿Hay un comando de actualización?
A partir de Cargo 1.36.0, ahora puede usar los siguientes comandos en una cadena de herramientas nocturna en lugar de usar la caja de actualización de
cargo-update
para actualizar las cajas a su última versión:
rustup install nightly
cargo +nightly install -Z install-upgrade <crate>
Esto vino de la solicitud de extracción # 6798 (Agregar instalación-actualización) .
¿Como funciona?
En lugar de fallar cuando
cargo install
detecta que un paquete ya está instalado, se actualizará si las versiones no coinciden, o no hará nada (salida 0) si se considera "actualizado".
Forzar una actualización / reinstalación
El siguiente comando
siempre
desinstalará, descargará y compilará la última versión de la caja, incluso si no hay una versión más nueva disponible.
En circunstancias normales, debería preferirse la función de
install-upgrade
, ya que ahorra tiempo y ancho de banda si no hay una nueva versión de la caja.
cargo install --force <crate>
Documentación
Se puede encontrar más información en la edición de GitHub rust-lang/cargo#6797 y en el capítulo de documentación oficial Características inestables -> instalación-actualización .
El comando para actualizar las dependencias es
cargo update
Fuente: http://doc.crates.io/guide.html
No existe tal comando en la
cargo
vainilla (bueno, hay
cargo install
pero eso es para dependencias), pero dado que la
cargo
admite
subcomandos de terceros,
hay una respuesta: la
caja de
cargo-update
.
Instale como de costumbre con
cargo install cargo-update
, luego use
cargo install-update -a
para actualizar todos los paquetes instalados, para obtener más información de uso y ejemplos, consulte la página de
cargo install-update
.
Descargo de responsabilidad: soy autor
No. Puedes discutirlo en this número.
Una solución que he encontrado es agregar el indicador
--force
al comando de instalación.
Por ejemplo,
cargo install --force clippy
.
Esto reinstalará efectivamente la última versión.