SDKMAN!软件开发工具包管理器

认识一下SDKMAN!(The Software Development Kit Manager)是您在Unix系统上轻松管理多个软件开发工具包的可靠伴侣。想象一下,有不同版本的SDK,需要一种无感知的方式在它们之间切换。SDKMAN拥有易于使用的命令行界面(CLI)和API。其前身为GVM,Groovy环境管理器,SDKMAN从apt、pip、rvm、rbenv甚至Git等熟悉的工具中汲取灵感。将其视为您有用的工具包朋友,随时为你简化SDK管理。

官方网站:https://sdkman.io/

  • 配置文件在~/.sdkman/etc/config中
sh 复制代码
sdkman_auto_answer=false
sdkman_auto_selfupdate=false
sdkman_insecure_ssl=false
sdkman_curl_connect_timeout=7
sdkman_curl_max_time=10
sdkman_beta_channel=false
sdkman_debug_mode=false
sdkman_colour_enable=true
sdkman_auto_env=false
sdkman_rosetta2_compatible=false
sdkman_checksum_enable=true
sdkman_selfupdate_feature=true
sdkman_auto_complete=true
sdkman_auto_update=true
  • 查看当前SDKMAN版本:
sh 复制代码
sdk version
  • 获取基本的帮助
sh 复制代码
sdk help
# 执行后和上面的相似
sdk help install
  • 更新SDKMAN!到最新版本
sh 复制代码
sdk selfupdate force

这里的selfupdate命令是用来更新SDKMAN!自身的,而force参数确保即使在检查到没有新版本时也会执行更新操作。

  • 获取可以安装服务列表
sh 复制代码
sdk list
  • 获取候选服务版本列表
sh 复制代码
sdk list maven

结果如下:

sh 复制代码
================================================================================
Available Maven Versions
================================================================================
     4.0.0-beta-4        3.8.5               3.3.1                              
     4.0.0-beta-3        3.8.4               3.2.5                              
     3.9.9               3.8.3               3.2.3                              
     3.9.8               3.8.2               3.2.2                              
     3.9.7               3.8.1               3.2.1                              
     3.9.6               3.6.3               3.1.1                              
     3.9.5               3.6.2               3.1.0                              
     3.9.4               3.6.1               3.0.5                              
     3.9.3               3.6.0               3.0.4                              
     3.9.2               3.5.4                                                  
     3.9.1               3.5.3                                                  
     3.9.0               3.5.2                                                  
     3.8.8               3.5.0                                                  
     3.8.7               3.3.9                                                  
     3.8.6               3.3.3                                                  

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================
  • 指定默认版本,仅限当前命令行终端

    在当前命令行终端指定使用版本,要注意,这将键切换当前shell的候选版本。

    sdk use maven 3.6.3

  • 指定默认版本,当前命令行终端及其它终端都将使用此版本

选择将指定的版本设置为默认的版本,这将确保所有后续shell都将使用3.6.3版本。

复制代码
sdk default maven 3.6.3
  • 查看当前使用的候选服务版本
sh 复制代码
# 查看当前默认的所有服务
sdk current
# 查看指定服务当前版本
sdk current maven
  • home目录
sh 复制代码
xx:~ xxx$ sdk home springboot 2.3.0.RELEASE
==== INTERNET NOT REACHABLE! ===================================================

 Some functionality is disabled or only partially available.
 If this persists, please enable the offline mode:

   $ sdk offline

================================================================================
  • Flush

    移除SDKMAN!的临时目录.sdkman/tmp,如果手动移除可能会破坏SDKMAN!

sh 复制代码
sdk flush
  • update

定期SDKMAN!需要刷新以了解新的(或删除的候选人)。当候选元数据可能已经过时时,会显示一条警告,并说明如何更新。只需运行以下命令,候选缓存将被刷新,新的候选缓存将可供安装:

sh 复制代码
sdk update

官方网站:https://sdkman.io/

开源SDK:https://github.com/mingyang66/spring-parent

相关推荐
焗猪扒饭7 小时前
redis stream用作消息队列极速入门
redis·后端·go
树獭非懒7 小时前
AI大模型小白手册|Embedding 与向量数据库
后端·python·llm
IT_陈寒10 小时前
SpringBoot实战:5个让你的API性能翻倍的隐藏技巧
前端·人工智能·后端
梦想很大很大10 小时前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
唐叔在学习11 小时前
就算没有服务器,我照样能够同步数据
后端·python·程序员
用户685453759776911 小时前
同步成本换并行度:多线程、协程、分片、MapReduce 怎么选才不踩坑
后端
javaTodo12 小时前
Claude Code 记忆机制详解:从 CLAUDE.md 到 Auto Memory,六层体系全拆解
后端
LSTM9712 小时前
使用 C# 和 Spire.PDF 从 HTML 模板生成 PDF 的实用指南
后端
JaguarJack12 小时前
为什么 PHP 闭包要加 static?
后端·php·服务端