25 个仓库
Mechanisms to toggle between different versions of programming languages or databases for testing.
Distinct from Runtime Version Detectors: Distinct from Runtime Version Detectors: focuses on the active switching of versions rather than just identifying the current one.
Explore 25 awesome GitHub repositories matching development tools & productivity · Runtime Version Switching. 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
Read a configuration file in a directory to switch to the required runtime version when entering that folder.
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
Enables switching between different Ruby versions based on global defaults, project files, or shell sessions.
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
Allows toggling between different language and database versions via configuration settings for application testing.
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,
Updates current environment paths and root variables to switch the active Go language version instantly.
XcodesApp is a desktop application and version manager for the Xcode integrated development environment. It functions as a macOS development tool that enables the installation, updating, and switching of multiple Xcode versions. The application automates the process of downloading and deploying specific software versions and metadata. It provides a metadata browser to view available releases, release notes, and operating system compatibility requirements. The tool manages the installation of platform runtimes and SDKs for iOS, macOS, watchOS, and tvOS. It allows users to select and toggle th
Enables users to toggle the active system version of Xcode with a single action.
XcodesApp is a management utility for controlling Apple development toolsets. It serves as a version manager and runtime installer used to download, install, and switch between multiple versions of Xcode and their associated platform runtimes. The tool provides a way to browse available versions, release notes, and system compatibility requirements from official release channels. It utilizes accelerated connections to download specific versions of the development environment and its corresponding operating system runtimes and hardware variants. Users can assign a specific installed version a
A tool for downloading, installing and switching between multiple versions of Xcode and its platform runtimes.
DevOps-Bash-tools is a collection of shell scripts and aliases designed to automate cloud infrastructure, container orchestration, and CI/CD pipelines. It provides a comprehensive toolset for managing operational workflows through the command line. The project specializes in automating tasks across multiple platforms, including managing namespaces and secrets in Kubernetes, auditing resources in AWS and GCP, and triggering builds or managing environment variables in GitHub Actions, GitLab CI, and CircleCI. It also includes a toolkit for interacting with container registries to query manifests
Allows switching between different binary tool versions based on directory-specific requirements.
Fiddle is an interactive API reference tool and playground environment for the Electron platform. It serves as a project prototyper and sandbox where users can explore, draft, and test application logic without the need to manually set up a full project structure. The tool distinguishes itself by allowing users to compile prototype experiments into distributable standalone binaries for Windows, macOS, and Linux. It also provides a mechanism to export these experiments into standalone project folders for continued development in a professional integrated development environment. The environme
Executes code in an isolated environment configured to match a specific version of the target framework runtime.
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
Toggles the active Python version globally, for a specific session, or within a local directory.
rustup is a programming language toolchain manager that automates the installation, versioning, and configuration of the Rust compiler and its associated build tools. It serves as a toolchain installer and version manager, enabling the deployment of the language ecosystem across different operating systems. The system manages multiple compiler versions across stable, beta, and nightly release channels, allowing users to switch between these versions to meet different environment requirements. It also functions as a cross-compilation manager by installing pre-compiled standard libraries to bui
Enables toggling the active compiler version between stable, beta, and nightly releases.
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
Toggles between installed versions of a software development kit to change the active environment for the current shell session.
Manage your Java environment
Switches between installed Java versions globally, per directory, or per shell session to match project requirements.
NVIDIA DALI is a GPU-accelerated data loading and preprocessing library designed for deep learning workflows. It constructs high-performance data pipelines that offload decoding, augmentation, and normalization to the GPU, eliminating CPU bottlenecks in training and inference. The library reads data from multiple storage formats and streams it directly into GPU memory, with support for multi-GPU execution to scale throughput across large-scale workloads. DALI distinguishes itself by enabling data pipelines to be built once and executed across multiple deep learning frameworks without code cha
Provides mechanisms to switch between multiple installed CUDA toolkit versions.
Phpbrew is a PHP version manager and build tool used to compile and manage multiple versions of PHP from source within a local user directory. It provides a self-contained development environment that allows for installing and switching between different language versions without requiring root access. The system distinguishes itself by using a variant-driven build configuration, allowing users to compile binaries with specific feature sets, flags, and custom configuration options. It also functions as an extension manager that downloads, compiles, and activates third-party extensions from re
Toggles between different installed PHP versions for temporary use or sets a global default.
fvm is a version manager and orchestrator for the Flutter and Dart software development kits. It enables the installation and management of multiple SDK versions on a single machine, allowing different projects to run on different versions simultaneously to avoid conflicts. The tool provides mechanisms for pinning specific SDK versions to projects via configuration files, ensuring that all collaborators and build environments use an identical toolset. It also supports the use of custom SDK forks hosted in external repositories instead of official channels. Beyond local development, it serves
Toggles between different installed SDK versions instantly without redownloading.
RVM 是一个 Ruby 版本管理器和构建自动化工具,旨在在单个系统上安装和切换多个 Ruby 解释器版本。它作为一个依赖隔离器和 Shell 环境封装器,允许创建命名库集以防止不同项目之间的版本冲突。 该项目作为一个部署编排器,能够自动在远程服务器和构建代理上配置 Ruby 运行时。它生成独立的执行封装器,以确保为计划任务、服务管理器和系统初始化脚本加载特定的运行时和库集。 该工具涵盖了广泛的功能,包括带有自定义编译器标志的自动源码编译、避免 Root 权限的用户空间安装,以及与各种 Shell 和文本编辑器的集成。它还为远程环境同步、持续集成兼容性测试和应用程序服务器集成提供了基础设施。
Changes the active interpreter for the current shell session or based on a project configuration file.
Laragon is a portable web server suite and WAMP stack manager that provides a self-contained local development environment. It enables the bootstrapping of web applications through the orchestration of web servers, databases, and language runtimes on a single machine. The project is distinguished by its registry-free portable mode, allowing the entire development stack to be moved between drives or computers without re-installation. It features automated virtual host mapping and SSL certificate generation for local domains, as well as a local tunneling gateway to expose projects via public UR
Enables switching between different versions of programming language binaries and database engines.
tModLoader is a modding framework and toolset designed for expanding game content and extending core game logic. It provides a polymorphic content API that allows for the creation of new items, NPCs, projectiles, and world assets through object-oriented inheritance. The project is distinguished by its advanced code modification capabilities, utilizing intermediate language bytecode patching and reflection-based private access to alter internal game behavior. It features a hot-reloading assembly runtime that enables developers to recompile and apply source code changes in real-time without res
Allows switching between stable, legacy, and preview versions to ensure compatibility with specific mods.
Anchor is a framework for building, testing, and deploying Solana smart contracts. It provides a Rust domain-specific language (DSL) that uses macro‑based instruction dispatch and derive‑macro account validation to automate ownership checks, discriminator enforcement, and serialization before instruction execution. The framework also includes a CLI toolchain for scaffolding, compiling, and managing contracts across workspaces, a test harness that simulates program execution with account manipulation and compute unit benchmarking, and an IDL generator that emits a standardized JSON interface fr
Provides CLI commands to set and persist the active command-line tool version until explicitly changed by the user.
opennextjs-aws 是一个无服务器基础设施适配器和部署工具,将 Next.js 构建产物转换为兼容的包,以便在 AWS Lambda 和 S3 上托管。它作为一个部署适配器,将框架特定的输出映射到无服务器函数和对象存储。 该项目通过实现无服务器特定的优化而脱颖而出,包括一个通过 S3 或 DynamoDB 同步增量静态再生(ISR)和 fetch 缓存的缓存管理器。它具有冷启动优化器,使用包压缩和定时函数预热来减少延迟,以及一个专门的图像优化流水线,用于从 S3 获取源文件并通过 CDN 分发。 该系统涵盖了广泛的能力,包括边缘中间件集成、基于队列的后台重新验证和多目标路由分发。它还通过 CDN 路由、地理位置数据注入和服务器响应流来管理流量,以改善首字节时间(TTFB)。 该工具为构建流水线、适配器行为和服务器逻辑提供了广泛的自定义选项,以支持多样的架构需求和 Monorepo 结构。
Sets environment variables to switch between bundled and external versions of the React UI library.