问题描述
目前,rust-toolchain.toml 允许指定开发渠道、目标平台和相关工具(编译器、打包器)等。不幸的是,接受附加工具的 components
键不符合规定cargo-watch
和 trunk
(WASM 板条箱的货物替代品)。作为新手,他们的拒绝似乎很奇怪。它们的排除限制了 rust-toolchain.toml
在自动化开发环境工具方面的惊人效用。
问题是,我是不是遗漏了什么?有没有办法将这些工具集成到 rust-toolchain.toml
中,是否有其他方法可以指定它们(除了 shell 脚本),或者它们是多余的?
目前我手动安装它们:cargo install watch trunk
。是的,这很简单,但也没有记录,容易忘记,而且很笨拙。
我必须说,rust
及其工具令人印象深刻。
解决方法
据我所知,components
键专门用于工具链内部组件。这些组件也是特定于工具链的,例如rustup +stable component add rust-src
与 rustup +nightly component add rust-src
不同。
另一方面,来自 crates.io 的 crate(cargo install
可以安装)本质上是独立于工具链的。所以对我来说,通常不能通过 rust-toolchain.toml
文件指定 crate 是有道理的,这更多的是将工具链固定到特定版本。
然而,特别是关于货物插件,也许你会找到一种引人注目的方式将其作为货物的新功能提出(例如,允许在 config.toml
中指定货物插件)。
不,components
的 rust-toolchain.toml
是由 Rust 语言团队开发和分发的 specific set of tools。它仅用于扩充内置的 cargo
命令。