rust - que - gnu toolchain
error: la cadena de herramientas ''stable-x86_64-apple-darwin'' no tiene el binario `rustfmt` (3)
Con los pasos que realizó, Rustup ya está configurado para administrar sus rustfmt
binarios rustfmt
. Esto significa que pueden actualizarse automáticamente junto con sus cadenas de herramientas en lugar de depender de cargo install
. Lo que falta aquí es el componente rustfmt
real que Rustup intentaba ejecutar.
Para permitir que Rustup administre rustfmt
, consulte los siguientes pasos:
- Una vez que actualice Rustup a la última versión, puede recibir el mensaje de
warning: tool rustfmt is already installed
. Elimine los archivos binarios de la carpeta binaria de Cargo, como se sugiere.cargo uninstall rustfmt
(orustfmt-nightly
si instaló eso) funciona bien. - Ejecute la
rustup update
para permitirle completar los archivos binarios eliminados con su propiorustfmt
ycargo-fmt
. - Una vez hecho esto, aún debe instalar el componente
rustfmt-preview
para cada cadena de herramientas con la que trabajará. No todas las cadenas de herramientas proporcionan este componente por el momento, pero las últimas cadenas de herramientasstable
seguramente lo tendrán. Por lo tanto, asegúrese de que esta cadena de herramientas esté instalada, luego:
$ rustup component add rustfmt-preview
Con eso hecho, llamar a rustfmt
usando esa cadena de herramientas debería funcionar:
$ rustup run stable rustfmt --version
rustfmt 0.99.4-stable (1c40881 2018-08-27)
El estado actual del uso de rustfmt
administrado por Rustup puede ser un poco confuso. Hay algunos problemas relevantes y relaciones públicas sobre el tema ( #1305 y #1310 ), y seguirlos proporciona las claves necesarias para que esto funcione correctamente.
He ejecutado la rustup update
para actualizar mi cadena de herramientas y he visto dos advertencias:
warning: tool `rustfmt` is already installed, remove it from `/Users/<username>/.cargo/bin`, then run `rustup update` to have rustup manage this tool.
warning: tool `cargo-fmt` is already installed, remove it from `/Users/<username>/.cargo/bin`, then run `rustup update` to have rustup manage this tool.
Seguí las instrucciones de los mensajes de advertencia y luego intenté ejecutar rustfmt
nuevamente. Me dieron el error
error: toolchain ''stable-x86_64-apple-darwin'' does not have the binary rustfmt`
¿Qué salió mal y cómo puedo solucionarlo?
El error le dice que no tiene la rustfmt-preview
no está instalada en el *-apple-darwin
real.
Lo que necesitas hacer es:
rustup component add rustfmt-preview --toolchain stable-x86_64-apple-darwin
después serás bueno para ir :)
$ rustup run stable rustfmt --version
error: `toolchain ''stable-x86_64-pc-windows-msvc'' does not have th`e binary `rustfmt.exe`
$ rustup component remove rustfmt-preview --toolchain=stable-x86_64-pc-windows-msvc
info: removing component ''rustfmt-preview''
warning: during uninstall component rustfmt-preview-x86_64-pc-windows-msvc was not found
$ rustup component add rustfmt-preview --toolchain=stable-x86_64-pc-windows-msvc
info: downloading component ''rustfmt-preview''
info: installing component ''rustfmt-preview''
$ rustup run stable rustfmt --version
rustfmt 0.99.1-stable (da17b689 2018-08-04)
https://users.rust-lang.org/t/problem-with-rustfmt-on-stable/15165/7