pub fn home_dir() -> Option<PathBuf>
👎Deprecated since 1.29.0: This function’s behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
Expand description
Returns the path of the current user’s home directory if known.
§Unix
- Returns the value of the ‘HOME’ environment variable if it is set (including to an empty string).
- Otherwise, it tries to determine the home directory by invoking the
getpwuid_r
function using the UID of the current user. An empty home directory field returned from thegetpwuid_r
function is considered to be a valid value. - Returns
None
if the current user has no entry in the /etc/passwd file.
§Windows
- Returns the value of the ‘USERPROFILE’ environment variable if it is set, and is not an empty string.
- Otherwise,
GetUserProfileDirectory
is used to return the path. This may change in the future.
In UWP (Universal Windows Platform) targets this function is unimplemented and always returns None
.
Before Rust CURRENT_RUSTC_VERSION, this function used to return the value of the ‘HOME’ environment variable
on Windows, which in Cygwin or Mingw environments could return non-standard paths like /home/you
instead of C:\Users\you
.
§Examples
use std::env;
match env::home_dir() {
Some(path) => println!("Your home directory, probably: {}", path.display()),
None => println!("Impossible to get your home dir!"),
}