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

Jer*_*ska 0 rust rust-cargo

是否cargo install下载在别人计算机上编译的二进制文件?执行时有时会下载此类预建文件吗cargo install?的输出cargo install表明编译已经发生,但我不确定我是否可以相信它cargo install永远不会将任何预编译的内容下载到我的计算机上。因此,只要我可以,我就可以手动克隆存储库并自己编译二进制文件,.eg

git clone https://github.com/mitnk/cicada.git && cd cicada && cargo build --release && sudo mv target/release/cicada /usr/local/bin 
Run Code Online (Sandbox Code Playgroud)

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

Col*_*Two 6

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

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

包的构建脚本可以下载预编译的二进制文件。例如,绑定到 C 库的包可以下载该库。但即使你也是git clone消息来源,这也是事实。