Rustup 与 Cargo 二进制文件

Ziz*_*Tai 6 rust

我刚刚在 macOS 上安装了 Rustup,并注意到有两个rustc和两个cargo二进制文件:

  • ~/.cargo/bin/rustc (cargo)
  • ~/.rustup/toolchains/stable-x86_64-apple-darwin/bin/rustc (cargo)

它们的版本完全相同,但diff表明存在一些差异。那么为什么有两种不同的rustc( cargo) 二进制文件,我应该使用哪一种?

squ*_*guy 6

有两个文件命名的原因rustc是因为 rustup 是一个工具链多路复用器。它允许您安装多个版本的 Rust 并轻松地在它们之间切换。

~/.cargo/bin/rustc您选择的当前工具链的代理上安装的二进制文件。每个已安装的编译器都保存在该toolchains目录下。

虽然toolchains目录中的编译器看起来是一个较小的文件,但这只是因为它是动态链接的,而不是静态链接的。

更多信息可以在rustup 的 README 中找到。

  • @ZizhengTai澄清,`.cargo/bin/`中的`cargo`、`rust-gdb`、`rust-lldb`、`rustc`、`rustdoc`和`rustup`二进制文件都是*同一个*文件. 前 5 个全部代理到相关工具链文件。 (2认同)