17 repositorios
Tools for managing multiple versions of programming languages or runtimes.
Distinguishing note: None available; minting under development tools.
Explore 17 awesome GitHub repositories matching development tools & productivity · Version Managers. Refine with filters or upvote what's useful.
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 throug
Provides functionality to uninstall specific Node.js versions to reclaim disk space.
This project is a comprehensive, community-driven directory of software resources, libraries, and frameworks for the Java programming language. It serves as a centralized knowledge base designed to help developers discover tools and industry-standard solutions for building and maintaining software applications. The repository distinguishes itself through a hierarchical taxonomy that organizes a vast array of technical components into a structured, navigable tree. By relying on distributed peer contributions, the index remains a living resource that reflects current community-recommended pract
Provides references to tools for managing language versions.
Mise is a development environment orchestrator that manages software runtimes, environment variables, and task execution. It functions as a version manager and task runner, providing a unified interface to synchronize project-specific configurations and dependencies across different machines. By automating the installation and switching of tools, it ensures that development environments remain consistent and reproducible. The project distinguishes itself through a hierarchical configuration system that automatically discovers settings by traversing the directory tree. It uses shim-based comma
Executes lightweight binary proxies that intercept shell commands to resolve and inject the correct tool versions into the runtime path.
This project is a command-line tool designed to manage multiple versions of programming language runtimes and development tools on a single machine. It provides a unified interface for installing and switching between different versions of software, ensuring that specific tool versions are consistently applied across various development environments. The system distinguishes itself through a modular, plugin-driven architecture that allows for the integration of new languages and tools via external scripts. It utilizes a shim-based execution mechanism that intercepts command calls, automatical
Facilitates the download and installation of specific tool and language runtime versions to ensure consistent project environments.
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
Deletes cached versions or active installations to reclaim disk space or revert to defaults.
Volta is a cross-platform toolchain orchestrator and JavaScript toolchain manager. It functions as a version manager for Node.js and related package managers, allowing for the installation and coordination of multiple runtimes across a system. The project operates as a project-based version switcher, automatically detecting and switching to the required tool versions based on the current directory. This ensures environment consistency across different developer machines by resolving versions through project configuration.
Functions as a version manager for installing and switching between multiple programming language runtimes.
Laradock is a collection of pre-configured Docker containers and orchestration definitions used to deploy multi-service development sandboxes. It functions as a PHP runtime manager and a Docker-based development environment, providing a set of modular service definitions for deploying web servers, databases, and caches through a single orchestration file. The project enables the creation of a local ecosystem featuring Nginx, MySQL, Redis, and Elasticsearch to mirror production infrastructure. It allows for switching between different versions of PHP and associated extensions, as well as manag
Runs multiple versions of MySQL, PostgreSQL, or MongoDB in isolated containers to test application compatibility.
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,
Provides the ability to remove specific Go language installations from the system to reclaim disk space.
PostgresApp is a native macOS application that provides a graphical interface for installing and managing PostgreSQL database servers locally. It serves as a local server manager, allowing users to start, stop, and configure database server states without using the command line. The application supports running multiple different versions of the database server simultaneously on a single machine, enabling multi-version compatibility testing and migrations through isolated environments. It also includes a bundle of pre-installed extensions for geospatial processing and vector search, removing
Enables running multiple PostgreSQL versions in isolation to test application compatibility and migrations.
This project is a tool for automating the deployment, installation, and removal of multiple Visual C++ redistributable runtime versions on Windows. It provides a system for managing these runtimes across various operating system versions, including legacy support. The project features an all-in-one runtime bundle that packages multiple versions into a single self-extracting executable for bulk deployment. It includes a utility to extract product identifiers from MSI files and a command-line interface for performing silent installations and repairs without user prompts. The toolset covers sof
Identifies and removes outdated or non-compliant runtime versions to ensure a clean installation state.
SDKMAN is a command-line utility for installing, tracking, and managing multiple versions of software development kits on Unix systems. It functions as a software installer and environment manager that automates the downloading and configuration of development tools for Linux and macOS. The tool enables the installation of parallel SDK versions on a single system and provides the capability to toggle between them to change the active environment for a shell session. It specifically facilitates the setup of Java development environments, including the management of various Java Development Kit
Provides capabilities for installing, removing, and listing multiple versions of software development kits on Unix systems.
Harlequin is a terminal-based SQL IDE that runs queries against DuckDB and SQLite databases, with a plug-in adapter system for connecting to additional database engines. It provides a full-screen text editor with syntax highlighting and fuzzy autocomplete for writing SQL, and displays query results in a scrollable table within the terminal. The application distinguishes itself through a tree-based data catalog that lets you browse database schemas, local files, and remote S3 objects, with the ability to insert or copy paths directly into the query editor. It supports custom key bindings throu
Aligns the installed DuckDB version with the version expected by the application to prevent runtime errors.
DLSS Swapper is a desktop tool that manages and replaces upscaling DLLs in game directories, supporting DLSS, FSR, and XeSS technologies. It identifies DLL versions by computing file hashes and matching them against a known database, then swaps the files directly in the game folder without modifying executables or memory. The tool automatically detects installed games across Steam, GOG, Epic Games, Ubisoft Connect, Xbox App, and Battle.net, and also supports manual addition of games by specifying the executable path. It maintains a local repository of multiple upscaling DLL versions, allowing
Downloads and organizes multiple versions of upscaling DLLs for per-game selection and application.
TypeSpec is a language for defining cloud API shapes and generating OpenAPI, JSON Schema, and client/server code from a single source of truth. It functions as a protocol-agnostic API designer that models REST, gRPC, and other API protocols using a unified, extensible syntax, with a decorator-based metadata system for attaching metadata, validation rules, and lifecycle visibility to API models and operations. The compiler produces OpenAPI 3.0 specifications and other artifacts, and the tool supports declaring API versions and tracking changes to models, properties, and operations across releas
Records the API version when models, properties, or operations were removed.
Devilbox es un entorno de desarrollo contenedorizado que proporciona una suite reproducible de servidores web, bases de datos y runtimes de lenguaje gestionados a través de una configuración unificada. Funciona como una pila de desarrollo local basada en Docker para pilas de software LAMP y MEAN, y como un gestor para cambiar entre diferentes versiones de estos servicios para cumplir con los requisitos específicos del proyecto. El sistema se distingue por automatizar la orquestación de redes locales. Incluye un gestor de hosts virtuales basado en Docker que asigna automáticamente directorios locales a dominios personalizados, y un orquestador local de DNS y SSL que maneja la resolución de dominios internos y genera certificados de confianza para el desarrollo HTTPS. El proyecto cubre una amplia gama de capacidades, incluyendo la administración de bases de datos y servicios a través de interfaces web, versionado de runtimes de lenguaje y alojamiento de sitios multiproyecto. También proporciona herramientas para interceptar correos electrónicos salientes, monitorear el estado del servicio a través de un panel y ejecutar toolchains de desarrollo directamente dentro de los contenedores.
Provides the ability to run and swap between multiple versions of database engines in isolation.
Moon is a monorepo build system and task runner designed to orchestrate complex projects with multiple packages. It functions as a dependency graph orchestrator that executes build targets in topological order and utilizes input hashing to cache results and skip redundant work. The project features a polyglot toolchain manager that automates the installation and versioning of language runtimes and CLI tools to ensure environment consistency. It also includes a plugin framework based on WebAssembly, allowing developers to extend build logic and toolchain behavior using any supported language.
Provides the ability to delete specific versions of installed runtimes to reclaim disk space.
Este proyecto es una utilidad de línea de comandos diseñada para gestionar entornos de desarrollo mediante la instalación, cambio y fijación de múltiples versiones de lenguajes de programación, SDKs, runtimes y motores de bases de datos. Funciona como un controlador centralizado para toolchains complejos, asegurando que versiones de software específicas se mantengan de forma consistente a través de diferentes máquinas y directorios de proyectos. La herramienta se distingue por una interfaz de terminal interactiva que permite a los usuarios navegar y seleccionar versiones de software visualmente, reduciendo la necesidad de memorizar argumentos complejos de línea de comandos. También proporciona un soporte robusto para entornos de red restringidos al enrutar el tráfico de descarga a través de proxies locales o inversos, asegurando una recuperación fiable de paquetes. Más allá del versionado central, el gestor se integra con instaladores de paquetes externos y maneja la configuración de protocolos de servidor de lenguaje (LSP) para soportar edición de código avanzada. Mantiene el rendimiento mediante el almacenamiento en caché de metadatos locales y automatiza la consistencia del entorno mediante shims dinámicos de rutas de shell y la generación de scripts de autocompletado.
Deploys and switches between multiple versions of database engines to support local development and testing.