nave is a lightweight Node.js version manager that treats each Node installation as its own “virtual environment,” including a separate global npm space. You can install specific versions (or tip builds), create named environments, and switch between them with a single command. By default it launches a subshell, so exiting the environment is as simple as exit or Ctrl-D, and you don’t have to modify your shell startup files to get going. This approach makes it straightforward to test projects against multiple Node versions or keep legacy and modern toolchains side by side. Because environment state is scoped, global packages won’t collide across projects, reducing “works on my machine” surprises. Its minimalist design prioritizes speed and clarity over a large command surface, making nave a good fit for developers who want Node versioning without extra ceremony.
Features
- Install and uninstall specific Node.js versions (including named environments) via simple commands
- Switch to a specific Node version or environment, including dropping into a subshell where that version is active
- Automatic “auto” mode: reading .naverc files in a directory tree to enter or exit environments based on directory location
- Listing of local and remote versions (versions installed, versions available to fetch)
- Minimal setup: via shell script, possible to install globally via npm or just symlink the script, no heavy dependencies
- Works with a variety of shells (bash, sh, zsh, fish) insofar as bash is available; supports configuring environment variables like NAVE_DIR etc.