Skip to content
SPECIFICTION
Get listed

goenv vs nvm

goenv

github.com

nvm

github.com

Side by side

Figuregoenvnvm
Price fromFreeFree
Free planYesYes
Free trial——
Open source—Yes
Windows—Yes
macOSYesYes
LinuxYesYes
Self-hosted—Yes
Plans published12
Spec score · Runtime Version Managers7.7 (#10)8.5 (#4)
Spec score · Development Environment Managers7.6 (#29)8.4 (#10)
IntegrationsThe installation page documents Homebrew and a ZPlug plugin manager for Zsh.Documented integrations include Docker, Ansible, zsh plugins, bash completion and optional nvshim shims.
LicenseThe repository identifies its license as MIT.nvm is distributed under the MIT License, permitting use, modification, distribution and sale subject to retaining notices.
Purposegoenv manages Go versions using a model similar to pyenv and rbenv.nvm lets users install and use different Node.js versions from the command line.

Plans

goenv

  • goenvFree

goenv pricing →

nvm

  • nvmFree
  • nvmFree

nvm pricing →

In their own words

goenv

goenv manages Go versions on Linux and macOS using a model similar to pyenv and rbenv. It supports global selections, per-project versions, and environment-variable overrides. Shim executables placed in PATH route Go commands to the selected installation, enabling automatic switching and project version pinning. The installation guide says goenv downloads prebuilt Go binaries provided by Google, while new Go versions are added automatically on a daily cron schedule. The project identifies v3 as its current stable version and recommends it for new installations; it says v3 is fully backward compatible with v2. Version 2 receives security patches and critical bug fixes, with support ending on or before December 31, 2028. Setup documentation covers Bash and Zsh, including a .bashrc note for Ubuntu. Installation options include Homebrew and ZPlug for Zsh, and the README includes AWS CodeBuild guidance. goenv is free under the MIT license.

Visit github.com

nvm

nvm is a free, MIT-licensed command-line tool for installing and managing Node.js versions. It is designed for installation per user and invocation per shell, and works in POSIX-compliant shells including sh, dash, ksh, zsh, and bash. Users can install specific versions, switch between them, set aliases such as a default, and use LTS aliases and commands to select long-term support versions. A project can specify its Node.js version in an.nvmrc file; documented shell snippets can support automatic switching. During installation, nvm can reinstall global npm packages from another installed Node.js version. With the --offline flag, it can install a version that was previously downloaded or cached without network access. The project documents use in Docker, including an example for CI/CD jobs. On Windows, nvm can work through WSL and may work with Git Bash or Cygwin depending on the environment. Fish shell is not supported, and the project points users to community alternatives. The project states that only the latest nvm version is supported.

Visit github.com