A simple, interactive Node.js version manager with no subshells or profile setup required.
`n` is a command-line tool for managing multiple Node.js versions on a single system. It allows developers to quickly install, switch between, and remove Node.js versions without complex setup or environment modifications. It solves the problem of juggling different Node.js versions for various projects by providing an interactive, simple interface.
Node.js developers who work on multiple projects requiring different Node.js versions, especially those who prefer a lightweight, no-fuss version management solution without subshells or profile tweaks.
Developers choose `n` for its simplicity and interactivity—it requires zero configuration, works immediately after installation, and provides an intuitive terminal interface for version management without the complexity of other version managers.
Node version management
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides an intuitive, arrow-key-driven interface in the terminal to browse and select Node.js versions, eliminating the need for memorizing commands.
Works immediately after installation with commands like `n lts`, requiring no shell profile modifications or complex environment setups.
Supports version files (.nvmrc, .node-version), package.json engines, and labels (lts, latest) for automatic version switching based on project context.
Caches downloaded Node.js versions for offline use and includes commands like `n prune` to clean up old versions, useful for CI/CD pipelines.
Explicitly does not work on native Windows shells (PowerShell, Git BASH) or Cygwin, forcing Windows users to rely on WSL or alternative tools.
Default installation to /usr/local often requires sudo or manual ownership changes, which can be intrusive in shared or restricted environments.
Installs Node.js to a single prefix, overwriting the previous version globally and potentially disrupting other applications or workflows that depend on a specific version.