awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
creationix avatar

creationix/nvm

0
View on GitHub↗
93,948 星标·10,242 分支·Shell·MIT·4 次浏览

Nvm

nvm is a Node.js version manager implemented as a POSIX bash script. It serves as a shell environment manager and runtime orchestrator for installing, switching, and managing multiple versions of the Node.js runtime on POSIX systems.

The tool allows for the automation of runtime switching by reading configuration files in project directories to select the required version. It supports the management of long-term support releases and the migration of global packages between different installed versions of the runtime.

The project covers broader capabilities including runtime management through version aliases and default version settings, software management via installation and uninstallation of specific releases, and environment isolation to prevent conflicts between binaries and modules.

The toolset is loaded into the current shell process via the source command to enable the modification of shell state.

Features

  • Node.js Version Managers - Provides a comprehensive system for installing and switching between multiple Node.js runtime versions.
  • Dynamic Script Loading - Loads the manager into the current shell process via sourcing to enable direct modification of shell state.
  • Runtime Version Switching - Toggles between different runtime versions automatically based on directory-level configuration files.
  • Configuration-Based Switching - Read a configuration file in a directory to switch to the required runtime version when entering that folder.
  • Shell Environment Managers - Dynamically updates the shell PATH environment variable to swap active runtime versions.
  • Version Selection Interfaces - Reads project-root configuration files to automatically select and install the required runtime version.
  • Directory-Based Environment Switching - Automatically switches the Node.js runtime when entering a project directory based on a local configuration file.
  • Multi-Version Installations - Downloads and installs multiple specific versions of the Node.js runtime environment.
  • Directory-Based Version Resolution - Automatically switches the active Node.js version by detecting configuration files in the current working directory.
  • Isolated Runtime Directories - Isolates different runtime versions in distinct filesystem directories to prevent binary and module conflicts.
  • Package Migrators - Automates the migration of global packages from one installed runtime version to another.
  • Runtime Version Mappings - Provides a mechanism to map human-readable aliases to specific runtime versions for consistent environment switching.
  • Version Aliases - Allows creating custom aliases (like 'lts/iron') to simplify referencing specific runtime versions.
  • Runtime Version Removal - Provides functionality to uninstall specific Node.js versions to reclaim disk space.
  • Remote Version Discovery - Displays a list of Node.js versions currently installed locally or available for download from remote sources.
  • Release Track Management - Organizes and tracks long-term support (LTS) release lines to ensure environment stability.
  • POSIX Shell Utilities - Implemented as a lightweight POSIX bash script to ensure compatibility and avoid external binary dependencies.
  • Per-Command Version Runtimes - Provides the ability to run a command using a specific Node.js version without permanently switching the active runtime.
  • Runtime Isolation - Ensures that different Node.js versions and their global packages remain isolated in distinct filesystem directories.
  • Default Version Settings - Allows users to define a global default Node.js version that persists across new terminal sessions.
  • Version Migrations - Installs new runtime versions while automatically migrating global packages from a previous installation.
  • 开发环境 - Node version manager for macOS and Linux.

Star 历史

creationix/nvm 的 Star 历史图表creationix/nvm 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

creationix/nvm 是做什么的?

nvm is a Node.js version manager implemented as a POSIX bash script. It serves as a shell environment manager and runtime orchestrator for installing, switching, and managing multiple versions of the Node.js runtime on POSIX systems.

creationix/nvm 的主要功能有哪些?

creationix/nvm 的主要功能包括:Node.js Version Managers, Dynamic Script Loading, Runtime Version Switching, Configuration-Based Switching, Shell Environment Managers, Version Selection Interfaces, Directory-Based Environment Switching, Multi-Version Installations。

creationix/nvm 有哪些开源替代品?

creationix/nvm 的开源替代品包括: rbenv/rbenv — rbenv is a Ruby version manager and shell environment manager designed to install, switch between, and manage multiple… moovweb/gvm — Gvm is a Go version manager, environment orchestrator, and dependency isolator. It provides a system for installing,… tj/n — n is a command line version manager and binary manager for the Node.js runtime environment. It functions as a runtime… sstephenson/rbenv — rbenv is a Ruby version manager and shell shim environment manager. It allows for the installation of multiple Ruby… pyenv-win/pyenv-win — pyenv-win is a version manager for Windows that enables the installation and switching of multiple Python versions… version-fox/vfox — Vfox is a command-line utility designed to manage multiple programming language runtimes and development tools on a…

Nvm 的开源替代方案

相似的开源项目,按与 Nvm 的功能重合度排序。
  • rbenv/rbenvrbenv 的头像

    rbenv/rbenv

    16,710在 GitHub 上查看↗

    rbenv is a Ruby version manager and shell environment manager designed to install, switch between, and manage multiple versions of the Ruby programming language. It functions as a project runtime isolator and an extensible versioning framework that ensures the correct Ruby binaries are executed based on the current context. The system uses a shim-based command interception model to resolve the active version before delegating execution to the binary. It allows for locking specific Ruby versions and environment variables to individual directories, ensuring project environment isolation. The ar

    Shellbashrubyruby-installation
    在 GitHub 上查看↗16,710
  • moovweb/gvmmoovweb 的头像

    moovweb/gvm

    11,645在 GitHub 上查看↗

    Gvm is a Go version manager, environment orchestrator, and dependency isolator. It provides a system for installing, removing, and switching between different versions of the Go programming language on a single machine. The tool manages native dependencies and creates isolated package sets to prevent version conflicts between different project environments. It uses environment variable overlays and directory isolation to link native code without modifying the host operating system. The software covers the full language lifecycle, including remote version cataloging, active version switching,

    Shelldependency-managergolang
    在 GitHub 上查看↗11,645
  • tj/ntj 的头像

    tj/n

    19,515在 GitHub 上查看↗

    n is a command line version manager and binary manager for the Node.js runtime environment. It functions as a runtime environment switcher, allowing for the installation and management of multiple Node.js versions to maintain compatibility across different projects. The tool orchestrates the downloading and caching of Node.js binaries from official or custom distribution mirrors. It enables switching between installed versions via a command line interface or interactive menu, providing the ability to execute scripts using specific versions from a local cache without performing a full system i

    Shell
    在 GitHub 上查看↗19,515
  • pyenv-win/pyenv-winpyenv-win 的头像

    pyenv-win/pyenv-win

    7,006在 GitHub 上查看↗

    pyenv-win is a version manager for Windows that enables the installation and switching of multiple Python versions without affecting the system global installation. It functions as a multi-version installer and environment controller that ensures isolation and reproducibility across different projects. The tool uses a shim-based routing system to intercept executable calls and direct them to specific versioned binaries. This allows for both system-wide default configurations and local directory-level overrides, where a specific version is automatically activated when entering a project folder

    VBScriptpyenvpyenv-alternativepyenv-for-windows
    在 GitHub 上查看↗7,006
查看 Nvm 的所有 30 个替代方案→