J'ai exécuté rustup update
pour mettre à jour ma chaîne d'outils et j'ai vu deux avertissements:
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.
J'ai suivi les instructions dans les messages d'avertissement, puis j'ai essayé à nouveau d'exécuter rustfmt
. J'ai eu l'erreur
error: toolchain 'stable-x86_64-Apple-darwin' does not have the binary rustfmt`
Qu'est-ce qui ne va pas et comment puis-je résoudre ce problème?
Avec les étapes que vous avez effectuées, Rustup est déjà configuré pour gérer vos fichiers binaires rustfmt
. Cela signifie qu'ils peuvent être automatiquement mis à jour avec vos chaînes d'outils au lieu de s'appuyer sur cargo install
. Ce qui manque ici, c'est le composant rustfmt
que Rustup a tenté d'exécuter.
Pour laisser Rustup gérer rustfmt
, procédez comme suit:
warning: tool rustfmt is already installed
. Supprimez les fichiers binaires du dossier binaire de Cargo, comme suggéré. cargo uninstall rustfmt
(ou rustfmt-nightly
si vous l'avez installé) fonctionne bien.rustup update
pour lui permettre de renseigner les fichiers binaires supprimés avec ses propres variables rustfmt
et cargo-fmt
gérées.rustfmt-preview
pour chaque chaîne d’outils avec laquelle vous allez travailler. Toutes les chaînes d'outils ne fournissent pas ce composant pour le moment, mais les dernières chaînes stable
en sont sûres. Par conséquent, assurez-vous que cette chaîne d’outils est installée, puis:$ rustup component add rustfmt-preview
Ceci fait, appeler rustfmt
à l'aide de cette chaîne d'outils devrait fonctionner:
$ rustup run stable rustfmt --version
rustfmt 0.99.4-stable (1c40881 2018-08-27)
L'état actuel d'utilisation de rustfmt
géré par Rustup peut être un peu déroutant. Il existe quelques problèmes et RP pertinents sur le sujet ( # 1305 et # 1310 ), et les suivre fournit les indications nécessaires pour que cela fonctionne correctement.
L'erreur vous indique que le rustfmt-preview
n'est pas installé sur le *-Apple-darwin
actuel.
ce que vous devez faire c'est:
rustup component add rustfmt-preview --toolchain stable-x86_64-Apple-darwin
après tu seras prêt à partir :)
$ 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