← All repositories
91,751 stars9,884 forksShellmit0 views

Nvm

Features

  • Path-Based Version SwitchersSwaps active runtime versions by dynamically updating the system PATH variable to point to specific version-controlled binary directories.
  • Shell-Based Version ManagersA command-line tool that enables the installation, switching, and management of multiple runtime versions within a POSIX-compliant shell environment.
  • Runtime Version ManagersDownload the version manager and configure environment variables and directory structures to enable runtime version control on a local machine.
  • Version ManagersDownload binaries and update user shell profiles to enable persistent access to version management tools across the system.
  • Lazy-Loading MechanismsDefines shell functions that defer the loading of heavy management logic until the first time a version-specific command is invoked.
  • Shell Environment InitializersConfigure shell environments to support version switching by sourcing management scripts and initializing necessary path variables for persistent access.
  • Shell Initialization ManagersInjects management logic into the user's shell startup files to intercept command execution and dynamically modify environment variables.
  • Shell CompletionsActivate command-line tab completion for shell sessions to simplify the discovery and execution of version management commands.
  • Shell Environment ConfigurationsInitializing and managing shell-level paths and variables to ensure that development tools and runtimes are correctly accessible within terminal sessions.
  • Installation ScriptsDeploy the version manager using shell scripts, supporting manual, git-based, or containerized installation methods for consistent environment setup.
  • Version Manager UpdatersApply the latest features and security patches to the local version manager installation by executing an automated update process.
  • Symlink-Based Version SwitchingManages multiple runtime installations by updating symbolic links to point to the currently active version directory within a central store.
  • Cross-Shell ManagersA portable script-based solution that provides consistent runtime version control across diverse shell sessions and operating system configurations.
  • Runtime Execution WrappersRun commands using a specific runtime version by wrapping the execution environment with the appropriate version path and configuration settings.
  • Versioned Command ExecutionRun commands using the currently active runtime version to ensure the correct environment is selected before execution begins.
  • Pre-release Runtime InstallersConfigure environment variables to discover and install pre-release, release candidate, or nightly builds of a runtime environment for testing and development.
  • POSIX-Compliant Shell ScriptsImplements core logic using strictly portable shell syntax to ensure consistent execution across diverse Unix-like operating systems and shells.
  • Environment Consistency ToolsStandardizing development environments across team members by ensuring everyone uses the same runtime versions and configuration settings for their projects.
  • Cross-Version TestingTesting and running applications against multiple runtime versions to ensure compatibility and verify behavior across different release cycles.
  • Environment Variable ConfigurationsControls runtime behavior and version selection by reading and writing persistent shell variables that define the active execution context.
  • Environment Variable ManagersCustomize shell behavior and tool performance by setting environment variables to define paths, mirrors, and default settings for runtime management.
  • Containerized Version ManagersDefine a containerized environment for managing multiple software versions by installing the necessary runtime and configuring the shell profile within a Docker image.
  • Package Manager ConfigurationsDefine registry URLs, authentication tokens, and environment-specific variables in a project-level configuration file to manage package installation and dependency resolution.
  • Test Version ManagersExecute automated test suites to verify the integrity and functional correctness of version management logic across different shell environments and operating systems.