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

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

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

sdkman/sdkman-cli

0
View on GitHub↗
6,791 星标·644 分支·Shell·Apache-2.0·9 次浏览sdkman.io↗

Sdkman Cli

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 versions.

The system manages software lifecycles by utilizing remote manifests for version metadata and employing symbolic links and environment variable modifications to handle version switching.

Features

  • Shell Environment Managers - Provides a shell-based utility to maintain separate development environments by toggling active SDK versions for the current session.
  • Path-Based Version Switchers - Manages active software versions by dynamically modifying the system PATH environment variable.
  • Runtime Version Switching - Toggles between installed versions of a software development kit to change the active environment for the current shell session.
  • Version Managers - Provides capabilities for installing, removing, and listing multiple versions of software development kits on Unix systems.
  • Manifest-Driven Installations - Fetches version metadata and installation URLs from remote JSON-like configuration manifests to update available packages.
  • Java Environments - Configures the necessary build tools and runtimes for Java projects through a single command line interface.
  • Version Managers - Installs and switches between different Java Development Kit versions to support projects with varying runtime requirements.
  • Symlink-Based Version Switching - Updates a single pointer link to a specific version folder to change the active SDK for the current user.
  • Installation Automation Tools - Automates the downloading and configuration of development kits and tools on Linux and macOS.
  • Local SDK Versioning - Stores downloaded SDKs in a hidden home directory hierarchy separated by candidate name and version number.
  • Toolchain Lifecycle Management - Manages the installation and lifecycle of various development kits and tools across different shell sessions.
  • Shells & Scripting - Executes all logic via a Bourne-compatible shell script to ensure compatibility across diverse Unix-like environments.
  • Multi-Version Installations - Maintains multiple versions of software development kits on a single Unix system without creating version conflicts.
  • Version Managers - Java version manager for UNIX-based platforms and Windows.

Star 历史

sdkman/sdkman-cli 的 Star 历史图表sdkman/sdkman-cli 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

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

Start searching with AI

Sdkman Cli 的开源替代方案

相似的开源项目,按与 Sdkman Cli 的功能重合度排序。
  • version-fox/vfoxversion-fox 的头像

    version-fox/vfox

    3,910在 GitHub 上查看↗

    Vfox is a command-line utility designed to manage multiple programming language runtimes and development tools on a single machine. It provides a unified interface for installing, switching, and configuring software versions across different operating systems, ensuring consistent development environments. The project distinguishes itself through a modular, plugin-based architecture that allows for the integration of diverse language runtimes and utilities beyond built-in defaults. It utilizes a combination of shim-based execution, symlink management, and dynamic shell-hook environment injecti

    Goasdfbashcli
    在 GitHub 上查看↗3,910
  • 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
  • volta-cli/voltavolta-cli 的头像

    volta-cli/volta

    13,009在 GitHub 上查看↗

    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.

    Rustnodenodejspackage-manager
    在 GitHub 上查看↗13,009
查看 Sdkman Cli 的所有 30 个替代方案→

常见问题解答

sdkman/sdkman-cli 是做什么的?

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.

sdkman/sdkman-cli 的主要功能有哪些?

sdkman/sdkman-cli 的主要功能包括:Shell Environment Managers, Path-Based Version Switchers, Runtime Version Switching, Version Managers, Manifest-Driven Installations, Java Environments, Symlink-Based Version Switching, Installation Automation Tools。

sdkman/sdkman-cli 有哪些开源替代品?

sdkman/sdkman-cli 的开源替代品包括: version-fox/vfox — Vfox is a command-line utility designed to manage multiple programming language runtimes and development tools on a… 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,… volta-cli/volta — Volta is a cross-platform toolchain orchestrator and JavaScript toolchain manager. It functions as a version manager… sstephenson/rbenv — rbenv is a Ruby version manager and shell shim environment manager. It allows for the installation of multiple Ruby… creationix/nvm — nvm is a Node.js version manager implemented as a POSIX bash script. It serves as a shell environment manager and…