From 69e05d7ceaf2bf04d6d07c427247c1d67ed012b4 Mon Sep 17 00:00:00 2001 From: Roey Darwish Dror Date: Wed, 5 May 2021 13:52:12 +0300 Subject: [PATCH] Honor CARGO_HOME (fix #705) (#706) --- src/steps/generic.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/steps/generic.rs b/src/steps/generic.rs index c5e1357c..7b6c7e6f 100644 --- a/src/steps/generic.rs +++ b/src/steps/generic.rs @@ -18,10 +18,14 @@ use tempfile::tempfile_in; pub fn run_cargo_update(ctx: &ExecutionContext) -> Result<()> { utils::require("cargo")?; - let toml_file = ctx.base_dirs().home_dir().join(".cargo/.crates.toml").require()?; + let cargo_dir = env::var_os("CARGO_HOME") + .map(PathBuf::from) + .unwrap_or_else(|| ctx.base_dirs().home_dir().join(".cargo")) + .require()?; + let toml_file = cargo_dir.join(".crates.toml").require()?; - if fs::metadata(toml_file)?.len() == 0 { - return Err(SkipStep(String::from(".cargo/.crates.toml exists but empty")).into()); + if fs::metadata(&toml_file)?.len() == 0 { + return Err(SkipStep(format!("{} exists but empty", &toml_file.display())).into()); } print_separator("Cargo");