修改/移动 rustup 和 cargo 位置

2023-02-04

移动方法

移动方法按照这篇博客移动即可,博客地址:https://tian051011.me/archives/7/

环境变量来源

当然不能够说就这样完了,对于我说,我更想知道到底为什么会是这两个变量。

在进行 rust 开发的时候,有两个比较重要的工具,一个是 rustup,另一个是 cargo。rustup 中包含了 rust 开发的工具链,而 cargo 则是包管理。如果没有改变位置,那么在原本 C 盘的位置应该分别位于 %USERPROFILE%/.rustup%USERPROFILE%\.cargo 下。%USERPROFILE% 是用户目录,一般来说就是在 C 盘。

那么对应的两个环境变量可以在 Environment Variables - The Cargo BookEnvironment Variables - The rustup book 中找到。

原文为:

CARGO_HOME — Cargo maintains a local cache of the registry index and of git checkouts of crates. By default these are stored under $HOME/.cargo (%USERPROFILE%\.cargo on Windows), but this variable overrides the location of this directory. Once a crate is cached it is not removed by the clean command. For more details refer to the guide.

RUSTUP_HOME (default: ~/.rustup or %USERPROFILE%/.rustup) Sets the root rustup folder, used for storing installed toolchains and configuration options.

可以看到 CARGO_HOME 是 cargo 的包和仓库的位置,cargo 的配置也会存在对应的文件夹下。而 RUSTUP_HOME 则是 rustup 的根目录,存放了工具链和配置(工具链中包含 cargo 和 rustc 等重要的工具)。

修改时需要注意的地方

在修改的 CARGO_HOME 之后,对应的位置会直接存入或下载之前 .cargo 文件夹下的内容。建议在修改之后,先不要使用 cargo,而是将原来文件夹下的 config 文件移动到新位置,或者在新位置创建一个 config。这是为了确保镜像不会出错。

并且在修改之后,也不要将原来的 .cargo 直接删除。这并不是为了将原本的内容复制到新位置,太费时间了,而是为了确保不删掉可执行文件。建议查看一下环境变量。像我这边,cargo 的运行程序就是使用的 .cargo/bin 目录下的 cargo.exe,而不是 .rustup/toolchains/%version%/cargo.exe。所以如果和我情况一样,就将 bin 复制到新目录,并将环境变量做对应的修改。

可以在 Path 中,新建一个位置,内容为 %CARGO_HOME%\bin。注意在修改之后,需要重启控制台或电脑,来确认 cargo 和 rustup 能否运行(rustup 也在 .cargo\bin 中)。

RUSTUP_HOME 这边,在修改之后,直接将原文件夹下的内容全复制到新位置就行了。因为除了工具链,其他的是文档和配置文件等内容,不算特别大,复制不需要特别久。也可以选择不复制,将原来的 settings.toml 复制到新位置,然后运行下面的命令补全文件即可。

rustup default stable

如果运行 rustup update,可能会提示一些警告,一般来说按照警告操作即可。

RustRust

学少何

不求上进的社畜……

使用 Actix Web 和 Vue 在开发中遇到的问题

安卓手机安卓Alist以及配置