是否可以配置 Cargo 缓存其下载的 crate 的目录?

Che*_*evy 9 caching rust rust-cargo

在 GitLab 的 CI 中,我可以将构建分解为多个阶段,每个阶段都可以将工件传递到下一个配置:

cache:
  paths:
    - target/
    - Cargo.lock
Run Code Online (Sandbox Code Playgroud)

但是,如果缓存目录位于项目目录或/cache目录之外,则很难传递这些工件。我需要告诉 Cargo 一个放置(和寻找)其缓存的板条箱的好地方。

就我而言,我希望使用/cache/cargo/registry/...而不是~/.cargo/registry/.... 或者/usr/local/cargo/registry/...

通过环境变量做到这一点的奖励积分。

Che*_*evy 11

找到了

variables:
  CARGO_HOME: "/cache/cargo/"
Run Code Online (Sandbox Code Playgroud)