rust 的 cargo 换源
首先要注意自己安装版本的文档
[CLI] rustup doc 之后仔细观察浏览器的文件URL,一般来说回退到 ******/html 这一层就可以了,在这里你会发现cargo是自带文档的。
点击index.html之后在第三章下找“Registry”,它会更详细的 walk you through 这个 process.
下文描述的方法是在:
rustup 1.24.3 (ce5817a94 2021-05-31)
cargo 1.53.0 (4369396ce 2021-04-27)
环境下的操作。
阅读cargo的doc会最终造成你在当前你的操作系统用户目录下找到 .cargo 文件夹,然后创建或者修改一个名为 config.toml 的文件。
修改项目中需要依赖的并且需要从互联网或局域网上下载的包的源的工作将在这个文件中进行操作。
建议在 vs code 的 terminal 中进行CLI操作,这里诸如 cd ~/ 的CLI命令会和Linux/OSX上在习惯上较为一致。
------------section 1-----------------
当前系统用户目录\.cargo\config.toml 文件中应当存在以下的项:
[registries]
ustc= { index = "http://mirrors.ustc.edu.cn/crates.io-index" }
解释:
1 ustc是variable,对比前面提到的cargo文档可以很容易发现这一点。
2 index 后面的URL是variable,可以用国内源进行加速
------------section 2-----------------
自己项目里面的 Cargo.toml 中,对于所需要下载的包的版本描述如下所示:
[dependencies]
rand = {version = "^0.8.3", registry = "ustc"}
解释:
首次执行cargo build工作时或执行cargo clean后,cargo会在系统的cargo config.toml 里面寻找 ustc 这个key,并使用其对应的URL地址获取 与 rand 库 0.8.3 API兼容的组件进行下载( ^ prefix 的作用。),下载的组件位于当前工程的 target/deps文件夹下。
结语:
未来此机制存在将 【系统中管理的网络源以一定形式迁移到工程的Cargo.toml中】的可能性,但考虑安全因素也可能采取更为保守的措施,所以如前文所述,请查看 cargo的文档。

浙公网安备 33010602011771号