0
0
NodejsHow-ToBeginner · 3 min read

How to Get Home Directory in Node.js Easily

In Node.js, you can get the home directory path using os.homedir() from the built-in os module. Alternatively, you can access the HOME environment variable on Unix or USERPROFILE on Windows via process.env.
📐

Syntax

The main way to get the home directory is by using the os.homedir() function from Node.js's os module.

  • os.homedir(): Returns a string with the current user's home directory path.
  • process.env.HOME (Unix) or process.env.USERPROFILE (Windows): Environment variables that store the home directory path.
javascript
import os from 'os';

const homeDir = os.homedir();
💻

Example

This example shows how to get and print the home directory using os.homedir() and environment variables. It works on all major operating systems.

javascript
import os from 'os';

// Get home directory using os module
const homeDir = os.homedir();
console.log('Home directory (os.homedir):', homeDir);

// Get home directory using environment variables
const envHome = process.env.HOME || process.env.USERPROFILE;
console.log('Home directory (env variable):', envHome);
Output
Home directory (os.homedir): /Users/yourname Home directory (env variable): /Users/yourname
⚠️

Common Pitfalls

Some common mistakes when getting the home directory in Node.js include:

  • Using process.env.HOME only, which fails on Windows where USERPROFILE is used instead.
  • Not importing the os module before calling os.homedir().
  • Assuming the home directory path format is the same on all operating systems.
javascript
import os from 'os';

// Wrong: Using only process.env.HOME (fails on Windows)
const wrongHome = process.env.HOME;

// Right: Use os.homedir() or check both env variables
const rightHome = os.homedir();
const envHome = process.env.HOME || process.env.USERPROFILE;
📊

Quick Reference

Summary of ways to get the home directory in Node.js:

MethodDescriptionCross-platform Support
os.homedir()Returns the current user's home directory pathYes
process.env.HOMEEnvironment variable for home directory on Unix/Linux/macOSNo (Unix only)
process.env.USERPROFILEEnvironment variable for home directory on WindowsNo (Windows only)

Key Takeaways

Use os.homedir() for a reliable, cross-platform way to get the home directory.
Environment variables HOME and USERPROFILE can be used but are platform-specific.
Always import the os module before calling os.homedir().
Do not assume home directory paths are the same on all operating systems.
Check both process.env.HOME and process.env.USERPROFILE if you use environment variables.