nodenv
nodenv manages Node.js versions so you can use different versions for projects on the same machine.
What nodenv is
nodenv manages Node.js versions so you can use different versions for projects on the same machine. Choose a version for a project, for all shells, or just for the current shell session. If a project has a .node-version file, nodenv can detect it as you enter that project’s directory and switch to the specified version. Shims in PATH route commands such as node, npm, and npx to the active version. Installing Node.js versions requires the separate node-build plugin; nodenv does not include an installation command by default. You can extend it with Bash plugins, including plugins for version installation and managing default npm packages. Global npm packages are scoped to the active Node.js version. nodenv supports Linux and macOS, with shell completion scripts and initialization guidance for Bash, Zsh, and Fish. Installation options include Homebrew, Arch Linux’s AUR, or a manual Git checkout; Debian, Ubuntu, and Fedora repositories do not package it. It is free and MIT licensed.
Good
- Select versions per project, globally, or per shell.
- Automatically detects project .node-version files.
- Shims route Node.js commands to the selected version.
- Bash, Zsh, and Fish completion scripts are provided.
- Free and MIT licensed.
Watch out
- Installing versions requires the separate node-build plugin.
- No packages in Debian, Ubuntu, or Fedora repositories.
- Supports Linux and macOS only.
Who it suits
nodenv suits people developing Node.js applications who need to switch versions across projects on one machine. It supports project version pinning and shell integration on Linux and macOS.
Verdict
nodenv offers several ways to select Node.js versions and can switch automatically based on a project file. Keep in mind that installing versions requires an additional plugin.
Plans and prices
From nodenv's own pricing page, checked 5 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| nodenv | Free | Free version manager for Node.js on Unix-like systems |
The facts
Each one read from nodenv's own pages, with the date it was checked.
What it does
- Audience
- The project is intended for people working on Node.js applications who need to switch versions across projects on one machine.checked 5 Oct 2026
- Automatic switching
- It checks a project’s .node-version file and switches Node.js versions as you move between project directories.checked 5 Oct 2026
- Command shims
- nodenv places shims in PATH so commands such as node, npm, and npx use the selected Node.js version.checked 5 Oct 2026
- Install options
- Installation options include Homebrew, Arch Linux’s AUR, or a manual Git checkout; Debian, Ubuntu, and Fedora repositories do not currently package it.checked 5 Oct 2026
- License
- The repository identifies the project as MIT licensed.checked 5 Oct 2026
- Package scope
- Globally installed npm packages are scoped to the currently active Node.js version.checked 5 Oct 2026
- Plugins
- nodenv is customizable through plugins written in Bash, including plugins for installing versions and managing default npm packages.checked 5 Oct 2026
- Purpose
- nodenv manages Node.js versions so projects can use the correct version on the same machine.checked 5 Oct 2026
- Security
- The repository links to a security policy, but the opened README does not state a security certification or compliance standard.checked 5 Oct 2026
- Shell support
- The project provides completion scripts for Bash, Zsh, and Fish and documents shell initialization for these shells.checked 5 Oct 2026
- Support
- The project directs users to file bugs in its GitHub issue tracker and submit pull requests.checked 5 Oct 2026
- Version installation
- Installing Node.js versions requires the separate node-build plugin; the install command is not included out of the box.checked 5 Oct 2026
- Version selection
- You can set Node.js versions per project, globally, or for a shell session.checked 5 Oct 2026
Where it runs
- Platforms
- The project describes nodenv as a version manager for Unix-like systems and recommends Homebrew installation on macOS or Linux.checked 5 Oct 2026

