私の錆プロジェクトの 1 つにツールチェーンのオーバーライドを設定して、デフォルトの MSVC ツールチェーンの代わりに GNU ツールチェーンを使用したいと考えています。しかし、どういうわけかの構成rust-toolchain.toml
は無視されます。(拡張機能のせいではなく、最新の状態です。)
方法は次のとおりです。
λ rustup show
Default host: x86_64-pc-windows-msvc
rustup home: C:\Users\<username>\scoop\persist\rustup\.rustup
installed toolchains
--------------------
stable-x86_64-pc-windows-gnu
stable-x86_64-pc-windows-msvc (default)
installed targets for active toolchain
--------------------------------------
x86_64-pc-windows-gnu
x86_64-pc-windows-msvc
active toolchain
----------------
stable-x86_64-pc-windows-msvc (default)
rustc 1.57.0 (f1edd0429 2021-11-29)
ご覧のとおり、GNU ツールチェーンがインストールされています。
そこで、次のrust-toolchain.toml
ファイルを作成しました。
λ cat rust-toolchain.toml
[toolchain]
channel = "stable"
targets = ["x86_64-pc-windows-gnu"]
実行するrustup show
と、ツールがファイルを認識していることを示す結果が得られますが、まだ msvc を使用する必要があるため、正しく処理されていないようです。
λ rustup show
Default host: x86_64-pc-windows-msvc
rustup home: C:\Users\<username>\scoop\persist\rustup\.rustup
installed toolchains
--------------------
stable-x86_64-pc-windows-gnu
stable-x86_64-pc-windows-msvc (default)
installed targets for active toolchain
--------------------------------------
x86_64-pc-windows-gnu
x86_64-pc-windows-msvc
active toolchain
----------------
stable-x86_64-pc-windows-msvc (overridden by 'C:\<project path>\rust-toolchain.toml')
rustc 1.57.0 (f1edd0429 2021-11-29)
何らかの理由でツールチェーンx86_64-pc-windows-gnu
の有効なターゲットと見なされていると思いますが、その理由、それを防ぐ方法、またはツールチェーンのターゲットではなくツールチェーンのターゲットを使用したいファイルstable-x86_64-pc-windows-msvc
に書き込む方法がわかりませんツールチェーンの。rust-toolchain.toml
x86_64-pc-windows-gnu
stable-x86_64-pc-windows-gnu
stable-x86_64-pc-windows-msvc
どうすればこれを解決できると思いますか?
注: 使用rustup default stable-gnu
は期待どおりに機能しますが、他の貢献者 (およびそのツール) がこの特定のツールチェーンを使用する必要があることを認識できるように、リポジトリに何かをコミットできるようにしたいと考えています。
編集:念のため、rustupバージョン。
λ rustup -V
rustup 1.24.3 (ce5817a94 2021-05-31)