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-nightlysi instaló eso) funciona bien. - Ejecute la
rustup updatepara permitirle completar los archivos binarios eliminados con su propiorustfmtycargo-fmt. - Una vez hecho esto, aún debe instalar el componente
rustfmt-previewpara 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 herramientasstableseguramente 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