ultima servers rusteo pirata experimental descargar rust rust-cargo

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 .



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.