覆盖 Rust 安装默认路径 `$HOME/.cargo` 和 `$HOME/.rustup`

Mar*_*son 5 rust rust-cargo rustup

在 Rust 中,默认情况下,文件放置在$HOME/.cargo$HOME/.rustup. 有没有办法覆盖这些默认值?

我正在尝试调试一个模糊的问题,并且我想尝试更改文件位置。

小智 12

在安装 Rust 之前,请设置环境变量CARGO_HOMERUSTUP_HOME,并确保在使用工具链时设置它们。

将以下内容添加到您的 shell 配置文件中(~/.bashrc~/.zshrc等):

  1. 货物rustup的环境变量

    export CARGO_HOME=/path/to/your/custom/location
    export RUSTUP_HOME=/path/to/your/custom/location
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用 rustup 安装 Rust - 这是推荐的方法

    RUSTUP_HOME=$RUSTUP_HOME CARGO_HOME=$CARGO_HOME bash -c 'curl https://sh.rustup.rs -sSf | sh'
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将 Cargo 的bin目录添加到 $PATH 中:

    export PATH=$PATH:$CARGO_HOME/bin
    
    Run Code Online (Sandbox Code Playgroud)
  4. Source Cargo的环境

    source "$CARGO_HOME/env"
    
    Run Code Online (Sandbox Code Playgroud)
  5. 重启外壳

核实:

rustc --version
cargo --version
Run Code Online (Sandbox Code Playgroud)


Fre*_*ios 8

文档中对此进行了解释:

rustup允许您在运行可执行文件之前CARGO_HOME通过设置环境变量来自定义安装。如环境变量部分所述,设置根 rustup 文件夹,用于存储已安装的工具链和配置选项。包含货物使用的缓存文件。RUSTUP_HOMErustup-initRUSTUP_HOMECARGO_HOME

不要忘记更新,$PATH否则您将无法使用二进制文件。另外,如果您希望该设置是永久的,请从 shell 配置中导出这些变量(例如 .bashrc.zshrc):

请注意,您需要确保始终设置这些环境变量,并且在使用工具链时CARGO_HOME/bin位于环境变量中。$PATH