转载来源:https://www.ostechnix.com/sdkman-a-cli-tool-to-easily-manage-multiple-software-development-kits/
您是经常在不同SDK上安装和测试应用程序的开发人员吗?我有个好消息给你!向SDKMAN问好,这是一个帮助您轻松管理多个软件开发工具包的CLI工具。它提供了一种安装,切换,列出和删除候选人的便捷方式。使用SDKMAN,您现在可以在任何类Unix操作系统上轻松管理多个SDK的并行版本。它允许开发人员为JVM安装软件开发工具包,例如Java,Groovy,Scala,Kotlin和Ceylon。还支持Ant,Gradle,Grails,Maven,SBT,Spark,Spring Boot,Vert.x等等。SDKMAN是免费的,重量轻,开源并用Bash编写。
安装SDKMAN很简单。首先,确保你已经安装了压缩和解压的应用程序。它在大多数Linux发行版的默认存储库中都可用。例如,要在基于Debian的系统上安装解压缩,只需运行:
$ sudo apt-get install zip unzip
然后,使用命令安装SDKMAN:
$ curl -s "https://get.sdkman.io" | bash
就这么简单。安装完成后,运行以下命令:
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
如果要将其安装在您选择的自定义位置而不是$ HOME / .sdkman,例如/ usr / local /,请执行以下操作:
$export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash
确保您的用户拥有此文件夹的完全访问权限。
最后,使用命令检查安装是否成功:
$ sdk version
==== BROADCAST =================================================================
* 01/08/18: Kotlin 1.2.60 released on SDKMAN! #kotlin
* 31/07/18: Sbt 1.2.0 released on SDKMAN! #sbt
* 31/07/18: Infrastructor 0.2.1 released on SDKMAN! #infrastructor
================================================================================
SDKMAN 5.7.2+323
恭喜!SDKMAN已安装。让我们继续看看如何安装和管理SDK。
要查看可用候选者列表(SDK),请运行:
$ sdk list
样本输出将是:
================================================== ==============================
可用的候选人
================================================== ==============================
q-quit / -search down
j-down? - 搜索
k-up h-help
-------------------------------------------------- ------------------------------
Ant(1.10.1)https://ant.apache.org/
Apache Ant是一个Java库和命令行工具,其任务是驱动
构建文件中描述的进程作为目标和扩展点依赖
互相攻击。Ant的主要已知用法是构建Java应用程序。
Ant提供了许多内置任务,允许编译,组装,测试和
运行Java应用程序。Ant也可以有效地用于构建非Java
应用程序,例如C或C ++应用程序。更一般地说,Ant可以
用于试验可以用目标和方式描述的任何类型的过程
任务。
:$ sdk install ant
如您所见,SDKMAN一次列出一个候选人以及候选人及其官方网站和安装命令的描述。按ENTER键列出下一个候选人。
要安装SDK,例如Java JDK,请运行:
$ sdk install java
样本输出:
正在下载:java 8.0.172-zulu
进行中...
################################################## ###################################### 100.0%
重新打包Java 8.0.172-zulu ...
完成重新包装......
安装:java 8.0.172-zulu
做完安装!
将java 8.0.172-zulu设置为默认值。
如果您有多个SDK,则会提示您是否要将当前安装的版本设置为默认版本。回答是将将当前安装的版本设置为默认版本。
要安装特定版本的SDK,请执行以下操作:
$ sdk install ant 1.10.1
如果您已经在本地安装了特定候选项,则可以将其设置为本地版本,如下所示。
$ sdk install groovy 3.0.0-SNAPSHOT /path/to/groovy-3.0.0-SNAPSHOT
列出特定候选人版本:
$ sdk list ant
样本输出:
================================================== ==============================
可用的Ant版本
================================================== ==============================
> * 1.10.1
1.10.0
1.9.9
1.9.8
1.9.7
================================================== ==============================
+ - 本地版本
* - 已安装
> - 目前正在使用中
================================================== ==============================
就像我已经说过的那样,如果您安装了多个版本,SDKMAN会提示您是否要将当前安装的版本设置为默认版本。您可以回答“是”将其设置为默认值。此外,您可以稍后使用以下命令执行此操作:
$ sdk default ant 1.9.9
上面的命令将Apache Ant版本1.9.9设置为默认值。
您可以使用以下命令选择要使用的已安装候选版本:
$ sdk use ant 1.9.9
要检查Candidate当前使用的是什么,例如Java,请运行:
$ sdk current java
使用java版本8.0.172-zulu
要检查所有候选者当前使用的内容,例如Java,请运行:
$ sdk current
使用:
ant:1.10.1
java:8.0.172-zulu
要升级过时的候选人,请执行以下操作:
$ sdk upgrade scala
您还可以检查所有候选人的过期内容。
$ sdk upgrade
SDKMAN具有脱机模式功能,允许SDKMAN在脱机工作时运行。您可以使用以下命令随时启用或禁用脱机模式:
$ sdk offline enable
$ sdk offline disable
要删除已安装的SDK,请运行:
$ sdk uninstall ant 1.9.9
有关更多详细信息,请查看帮助部分。
$ sdk help
用法:sdk <command> [candidate] [version]
sdk offline <enable | disable>
命令:
install or i <candidate> [version]
uninstall or rm <candidate> <version>
list or ls [candidate]
use or u <candidate> [version]
default or d <candidate> [version]
current or c [candidate]
upgrade or ug [candidate]
version or v
broadcast or b
help or h
offline [enable|disable]
selfupdate [force]
update
flush <broadcast|archives|temp>
candidate : the SDK to install: groovy, scala, grails, gradle, kotlin, etc.
use list command for comprehensive list of candidates
eg: $ sdk list
version : where optional, defaults to latest stable if not provided
eg: $ sdk install groovy
如果可用,则以下命令将安装新版本的SDKMAN。
$ sdk selfupdate
SDKMAN还会定期检查是否有任何更新,并通知您如何更新。
警告:SDKMAN已过期,需要更新。
$ sdk update
添加新候选人:scala
建议不时清理包含下载的SDK二进制文件的缓存。为此,只需运行:
$ sdk flush档案
清理临时文件夹以节省一些空间也很好:
$ sdk flush temp
如果您不需要SDKMAN或不喜欢它,请删除如下所示。
$ tar zcvf~ / sdkman-backup _ $(日期+%F-%kh%M).tar.gz -C~ / .sdkman
$ rm -rf~ / .sdkman
最后,打开.bashrc,.bash_profile和/或.profile文件,找到并删除以下行。
#THIS必须在SDKMAN工作的结尾!
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/home/sk/.sdkman"
[[ -s "/home/sk/.sdkman/bin/sdkman-init.sh" ]] && source "/home/sk/.sdkman/bin/sdkman-init.sh"
如果你使用ZSH,请从上面的线.zshrc文件。
而且,这就是今天的一切。我希望你发现SDKMAN很有用。