2

私の錆プロジェクトの 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.tomlx86_64-pc-windows-gnustable-x86_64-pc-windows-gnustable-x86_64-pc-windows-msvc

どうすればこれを解決できると思いますか?

注: 使用rustup default stable-gnuは期待どおりに機能しますが、他の貢献者 (およびそのツール) がこの特定のツールチェーンを使用する必要があることを認識できるように、リポジトリに何かをコミットできるようにしたいと考えています。

編集:念のため、rustupバージョン。

λ rustup -V
rustup 1.24.3 (ce5817a94 2021-05-31)
4

0 に答える 0