Expand description
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.
See also the dirs crate.
Note that as of 2019/08/06 it appears that cargo uses this crate. And rustup has used this crate since 2019/08/21.
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 also this discussion.
Modules§
- env
- Lower-level utilities for mocking the process environment.
Functions§
- cargo_
home - Returns the storage directory used by Cargo, often knowns as
.cargoorCARGO_HOME. - cargo_
home_ with_ cwd - Returns the storage directory used by Cargo within
cwd. For more details, seecargo_home. - 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
.rustuporRUSTUP_HOME. - rustup_
home_ with_ cwd - Returns the storage directory used by rustup within
cwd. For more details, seerustup_home.