awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
nvm-sh avatar

nvm-sh/nvm

0
View on GitHub↗

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Nvm

This project is a command-line tool designed for managing multiple runtime versions on a local machine. It functions as a shell-based environment manager that enables users to install, switch between, and maintain different versions of a runtime to support project-specific requirements or diverse shell sessions. By dynamically updating system paths and environment variables, it provides a consistent interface for runtime version control across various Unix-like operating systems.

The tool distinguishes itself through its portable, POSIX-compliant shell implementation, which ensures reliable execution across a wide range of shell environments. It utilizes lazy-loading function aliasing to defer the execution of management logic until a command is actually invoked, minimizing overhead during shell startup. Furthermore, it employs directory-symlink-based switching and persistent environment variable configuration to maintain a stable and predictable execution context for developers.

Beyond core version switching, the project supports a broad range of environment configuration capabilities. It facilitates the installation of pre-release and nightly builds, provides command-line tab completion for improved usability, and includes automated mechanisms for updating the manager itself. The system is designed to enforce environment consistency across development teams, allowing for standardized runtime configurations and simplified cross-version development workflows.

Installation is performed via shell scripts, which integrate the manager into the user's shell profile to ensure persistent access to versioning commands across terminal sessions.

Features

  • Path-Based Version Switchers - Swaps active runtime binaries by dynamically modifying the system PATH variable to target version-specific directories.
  • Shell-Based - Integrates directly into POSIX shell sessions to facilitate the installation and active management of various runtime versions.
  • Symlink-Based Version Switching - Updates symbolic links to point to specific runtime directories, enabling seamless switching between multiple installed versions.
  • Cross-Shell Managers - Maintains consistent runtime version control across a wide range of shell types and operating system configurations.
  • Runtime Version Managers - Enforces consistent runtime versions by configuring necessary environment variables and directory structures on local machines.
  • Version Managers - Downloads runtime binaries and updates shell profiles to ensure persistent access to multiple software versions.
  • Shell Initialization Managers - Injects management logic into startup files to intercept commands and dynamically adjust environment variables.
  • Lazy-Loading Mechanisms - Defers the initialization of management logic until a version-specific command is explicitly invoked to improve shell startup performance.
  • POSIX-Compliant Shell Scripts - Utilizes strictly portable shell syntax to ensure reliable execution and environment management across Unix-like systems.
  • Runtime Execution Wrappers - Wraps command execution to ensure operations run within the context of a specific, selected runtime version.
  • Developer Tools and Editors - Version manager for handling multiple active Node.js environments.
  • Node.js Version Management - Node.js version manager.
  • Notes and Management - Manages multiple active versions of the Node.js runtime.
  • Environment Consistency Tools - Standardizes development environments by ensuring all team members utilize identical runtime versions and configuration settings.
  • Cross-Version Testing - Facilitates testing applications against multiple runtime versions to verify compatibility and behavior across different release cycles.
  • Shell Environment Configurations - Orchestrates shell-level paths and environment variables to ensure runtime binaries remain accessible across distinct terminal sessions.
  • Development Environment Configurations - Supports flexible deployment via shell scripts, allowing for manual, git-based, or containerized environment setup.
  • Shell Completions - Activates tab completion for shell sessions to simplify the discovery and execution of version management commands.
  • Version Manager Updaters - Automates the update process to ensure the management tool remains current with the latest features and security patches.
  • Containerized Version Managers - Encapsulates runtime management within container images to provide consistent environments across development and production.
  • Package Manager Configurations - Configures registry URLs and environment-specific variables to streamline package installation and dependency resolution.
  • Pre-release Runtime Installers - Facilitates the discovery and installation of nightly or beta runtime builds to enable testing of pre-release software features.
  • Environment Variable Managers - Sets environment variables to define paths, mirrors, and default configurations for runtime management.
  • Environment Variables - Controls runtime behavior by managing persistent shell variables that define the active execution context.
  • Test Version Managers - Executes automated test suites to verify the functional integrity of version management logic across diverse environments.
93,825 stars·10,227 forks·Shell·MIT·25 vues

Historique des stars

Graphique de l'historique des stars pour nvm-sh/nvmGraphique de l'historique des stars pour nvm-sh/nvm

Alternatives open source à Nvm

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Nvm.
  • tj/nAvatar de tj

    tj/n

    19,515Voir sur 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
    Voir sur GitHub↗19,515
  • yyuu/pyenvAvatar de yyuu

    yyuu/pyenv

    44,899Voir sur GitHub↗

    pyenv is a Python version manager and runtime orchestrator that allows for the installation and switching of multiple Python versions on a single machine without affecting the system installation. It functions as a shell-based version controller that manages binaries through shims to redirect executable calls to specific versions. The tool is a plugin-extensible system, allowing users to add custom subcommands and logic via shell script plugins. This architecture enables the extension of the command line interface through a dedicated plugins directory. It provides capabilities for side-by-si

    Shell
    Voir sur GitHub↗44,899
  • schniz/fnmAvatar de Schniz

    Schniz/fnm

    24,020Voir sur GitHub↗

    This utility is a command-line tool designed for managing multiple Node.js runtime versions on local development machines. It functions as a cross-platform manager that enables users to install, switch, and synchronize runtime versions across Windows, macOS, and Linux environments. The tool automates environment configuration by detecting project-specific version requirements through directory-traversal resolution. It maintains consistency by dynamically updating shell paths and environment variables, allowing for automatic version switching as users navigate between different project directo

    Rusthacktoberfestjavascriptnodejs
    Voir sur GitHub↗24,020
  • sorin-ionescu/preztoAvatar de sorin-ionescu

    sorin-ionescu/prezto

    14,552Voir sur GitHub↗

    Prezto is a Zsh configuration framework and shell environment manager designed to organize environment variables, aliases, and startup scripts through a modular file structure. It functions as a plugin collection and prompt theme engine, utilizing Zsh-native scripting to manage shell behavior across different platforms. The framework distinguishes itself through a modular-based configuration and submodule-driven extensions, allowing users to load discrete functional modules and update core components via Git. It features a dedicated prompt engine that integrates repository metadata and system

    Shell
    Voir sur GitHub↗14,552
Voir les 30 alternatives à Nvm→

Questions fréquentes

Que fait nvm-sh/nvm ?

This project is a command-line tool designed for managing multiple runtime versions on a local machine. It functions as a shell-based environment manager that enables users to install, switch between, and maintain different versions of a runtime to support project-specific requirements or diverse shell sessions. By dynamically updating system paths and environment variables, it provides a consistent interface for runtime version control across various Unix-like operating…

Quelles sont les fonctionnalités principales de nvm-sh/nvm ?

Les fonctionnalités principales de nvm-sh/nvm sont : Path-Based Version Switchers, Shell-Based, Symlink-Based Version Switching, Cross-Shell Managers, Runtime Version Managers, Version Managers, Shell Initialization Managers, Lazy-Loading Mechanisms.

Quelles sont les alternatives open-source à nvm-sh/nvm ?

Les alternatives open-source à nvm-sh/nvm incluent : tj/n — n is a command line version manager and binary manager for the Node.js runtime environment. It functions as a runtime… yyuu/pyenv — pyenv is a Python version manager and runtime orchestrator that allows for the installation and switching of multiple… schniz/fnm — This utility is a command-line tool designed for managing multiple Node.js runtime versions on local development… sorin-ionescu/prezto — Prezto is a Zsh configuration framework and shell environment manager designed to organize environment variables,… sdkman/sdkman-cli — SDKMAN is a command-line utility for installing, tracking, and managing multiple versions of software development kits… version-fox/vfox — Vfox is a command-line utility designed to manage multiple programming language runtimes and development tools on a…