`cargo install` 是否下载在别人的计算机上编译的二进制文件?

Does `cargo install` download binaries compiled on someone else's computer?

是否cargo install 下载在别人的计算机上编译的二进制文件? 难道在执行cargo install时有时会下载这样的pre-builts? cargo install 的输出表明进行了编译,但我不确定我是否可以相信 cargo install 永远不会将任何预编译的内容下载到我的计算机上。 因此,每当我可以手动克隆一个 repo 并自己编译二进制文件时,例如

git clone https://github.com/mitnk/cicada.git && cd cicada && cargo build --release && sudo mv target/release/cicada /usr/local/bin 

而不是安装,例如cargo install -f cicada。我只做前者,因为我想避免下载 在别人的计算机上编译的二进制文件?另一个原因是我更喜欢用 --release 编译二进制文件。 我不太确定在执行 cargo install 时会发生这种优化。

cargo install 在本地下载并编译 crate,使用与构建您下载的 crate 时相同的机制。

cargo install 默认为发布版本。您必须使用 --debug 标志来构建调试版本。

板条箱的构建脚本可能会下载预编译的二进制文件。例如,绑定到 C 库的 crate 可以下载该库。但即使您 git clone 来源也是如此。