认识一下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/