A lightweight version manager for Node.js on Unix-like systems, enabling seamless switching between multiple Node.js versions per project.
nodenv is a version manager for Node.js designed for Unix-like systems. It allows developers to install, switch, and manage multiple Node.js versions on a single machine, ensuring each project runs on its specified version without conflicts. It solves the problem of version mismatches between different projects and development environments.
Node.js developers working on multiple projects that require different Node.js versions, especially those using Unix-based systems (macOS, Linux) who need a lightweight, project-specific version management solution.
Developers choose nodenv for its simplicity, speed, and minimal overhead compared to heavier alternatives. Its plugin-based architecture and focus on project-local versioning make it highly customizable and less intrusive to system configurations.
Manage your app's Node.js environment
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically switches Node.js versions based on a .node-version file in each directory, preventing conflicts as described in the 'How It Works' section.
Follows a simple, composable philosophy focusing on one task—version management—with extensibility via plugins, keeping overhead low.
Hooks into shells like Bash, Zsh, and Fish to manage PATH and shims, making version switching transparent when moving between projects.
Supports plugins like node-build for installing versions and nodenv-default-packages for global npm packages, allowing customization beyond core features.
Not available in Debian, Ubuntu, or Fedora repositories, forcing manual Git checkout or reliance on Homebrew, as cautioned in the installation notes.
Requires editing shell config files and, for Zsh, manual FPATH setup for completions, adding complexity compared to drop-in solutions.
Essential commands like nodenv install require installing the node-build plugin separately, which isn't bundled and might confuse new users.