[][src]Crate home

Canonical definitions of home_dir, cargo_home, and rustup_home.

This provides the definition of home_dir used by Cargo and rustup, as well functions to find the correct value of CARGO_HOME and RUSTUP_HOME.

The definition of home_dir provided by the standard library is incorrect because it considers the HOME environment variable on Windows. This causes surprising situations where a Rust program will behave differently depending on whether it is run under a Unix emulation environment like Cygwin or MinGW. Neither Cargo nor rustup use the standard libraries definition - they use the definition here.

This crate further provides two functions, cargo_home and rustup_home, which are the canonical way to determine the location that Cargo and rustup store their data.

See rust-lang/rust#43321.

Functions

cargo_home

Returns the storage directory used by Cargo, often knowns as .cargo or CARGO_HOME.

cargo_home_with_cwd
home_dir

Returns the path of the current user's home directory if known.

rustup_home

Returns the storage directory used by rustup, often knowns as .rustup or RUSTUP_HOME.

rustup_home_with_cwd