Freedom251 › Runtime Version Managers
nodenv

What nodenv is
nodenv is a free Node.js version manager for Linux and macOS. It lets you select versions globally, for a specific project, or for a shell session, so projects on one machine can use different versions. When a project contains a .node-version file, nodenv can switch to the specified version as you enter its directory. Command shims in PATH route tools such as node, npm, and npx to the selected version. Installing Node.js versions requires the separate node-build plugin; nodenv does not include an install command out of the box. Bash-written plugins can extend nodenv, including plugins for installing versions and managing default npm packages. Globally installed npm packages are scoped to the currently active Node.js version. The project provides completion scripts and shell initialization instructions 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 currently package it. The project is MIT licensed and directs users to its GitHub issue tracker for bug reports and pull requests.
Who it suits
nodenv suits people developing Node.js applications who need different versions across projects on one Linux or macOS machine. It supports version selection by project, shell session, or globally.
What it does well
- Select versions per project, globally, or per shell.
- Can switch based on a .node-version file.
- Shims route node, npm, and npx to the selected version.
- Shell setup and completion support Bash, Zsh, and Fish.
What to know first
- Installing versions requires the separate node-build plugin.
- Debian, Ubuntu, and Fedora repositories do not package it.
Limits
The free nodenv version manager does not include a Node.js version installation command; installing versions requires the separate node-build plugin.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| nodenv | Free version manager for Node.js on Unix-like systems | Free |
As github.com lists them, read 5 Oct 2026. The maker's own page has the final word.
Getting started
- Open the nodenv GitHub project.
- Install using Homebrew, Arch Linux’s AUR, or a manual Git checkout.
- Follow the project’s shell initialization instructions for Bash, Zsh, or Fish.
- Install the node-build plugin if you need to install Node.js versions.
- Set a Node.js version globally, for a project, or for a shell session.
Verdict
nodenv handles Node.js version selection and switching, with plugin support for additional tasks. Account for the separate node-build requirement when planning version installation.
Questions
How much does nodenv cost?
The listed nodenv plan is free.
Which operating systems does nodenv support?
The listed platforms are Linux and macOS.
Does nodenv install Node.js versions by itself?
No. Installing versions requires the separate node-build plugin.
Can nodenv switch versions automatically for a project?
Yes. It checks a project’s `.node-version` file and switches as you move into that directory.
Which shells have nodenv completion and setup instructions?
The project provides completion scripts and initialization instructions for Bash, Zsh, and Fish.
What license does nodenv use?
The repository identifies nodenv as MIT licensed.
Facts from nodenv's own pages
- Audience
- The project is intended for people working on Node.js applications who need to switch versions across projects on one machine. · github.com, 5 Oct 2026
- Automatic switching
- It checks a project’s .node-version file and switches Node.js versions as you move between project directories. · github.com, 5 Oct 2026
- Command shims
- nodenv places shims in PATH so commands such as node, npm, and npx use the selected Node.js version. · github.com, 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. · github.com, 5 Oct 2026
- License
- The repository identifies the project as MIT licensed. · github.com, 5 Oct 2026
- Package scope
- Globally installed npm packages are scoped to the currently active Node.js version. · github.com, 5 Oct 2026
- Platforms
- The project describes nodenv as a version manager for Unix-like systems and recommends Homebrew installation on macOS or Linux. · github.com, 5 Oct 2026
- Plugins
- nodenv is customizable through plugins written in Bash, including plugins for installing versions and managing default npm packages. · github.com, 5 Oct 2026
- Purpose
- nodenv manages Node.js versions so projects can use the correct version on the same machine. · github.com, 5 Oct 2026
- Security
- The repository links to a security policy, but the opened README does not state a security certification or compliance standard. · github.com, 5 Oct 2026
- Shell support
- The project provides completion scripts for Bash, Zsh, and Fish and documents shell initialization for these shells. · github.com, 5 Oct 2026
- Support
- The project directs users to file bugs in its GitHub issue tracker and submit pull requests. · github.com, 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. · github.com, 5 Oct 2026
- Version selection
- You can set Node.js versions per project, globally, or for a shell session. · github.com, 5 Oct 2026
Where nodenv stands on Freedom251
- Runtime Version Managers#15 of 30
- Development Environment Managers#33 of 50