如何在 Rust 工具链之间切换?

How to switch between Rust toolchains?

rustup help toolchain列出以下子命令

SUBCOMMANDS:
    list         List installed toolchains
    install      Install or update a given toolchain
    uninstall    Uninstall a toolchain
    link         Create a custom toolchain by symlinking to a directory
    help         Prints this message or the help of the given subcommand(s)

我安装了以下工具链

stable-x86_64-unknown-linux-gnu (default)
nightly-2019-09-05-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu
master

我试图解决 rust-clippy 的问题,所以我必须安装主工具链。尽管 stable 被设置为我的默认工具链,但我当前的工具链是 master,我想切换回 stable。如何在不卸载主工具链的情况下执行此操作?

没有switch子命令吗?

使用rustup default <toolchain>更改默认工具链。您可以使用全名(例如 rustup default stable-x86_64-unknown-linux-gnu)或短别名(例如 rustup default stable)。

rustup 也有以​​更广泛的方式覆盖默认值的方法。请参阅 rustup 书中的 Overrides

rustup default stable 命令运行良好,但最简单的方法是在项目根文件夹中保留一个 rust-toolchain 文件。这类似于 NodeJS 项目的 .nvm 文件。

rust-toolchain

nightly

stable

要在您的存储库中在夜间配置和稳定配置之间切换,请使用:

rustup override set nightly

或:

rustup override set stable

rustup default stable 应该可以。这会将 stable 设置为全局默认工具链。

要将 stable 设置为一个目录/项目的默认工具链,请改用 rustup override set stable 命令。要取消设置,请使用 rustup override unset.