SDKMAN! 软件开发工具包管理器 java管理仓库
SDKMAN!是在大多数Unix系统上管理多个软件开发套件的并行版本的工具。它提供了一个方便的命令行接口(CLI)和用于安装、切换、删除和列出候选对象的API。以前被称为GVM的Groovy环境管理器,它是由非常有用的RVM和rbenv工具所启发的,这些工具在Ruby社区中广泛使用。
安装
在类unix平台上安装SDKMAN!,就像以前一样容易。SDKMAN!在Mac OSX、Linux、Cygwin、Solaris和FreeBSD上可以顺利安装。我们还支持Bash和ZSH shell。
只需打开一个新的终端并输入:
curl -s "https://get.sdkman.io" | bash
按照屏幕上的说明完成安装。
接下来,打开一个新的终端或输入:
source "$HOME/.sdkman/bin/sdkman-init.sh"
最后,运行以下代码片段,以确保安装成功:
sdk version
Beta通道
对于更喜欢冒险的人来说,我们有一个测试频道。所有新的CLI特性都将首先针对这一组用户进行试用。Beta版本在大多数情况下可以被认为是稳定的,但偶尔也会中断。要加入测试程序,只需更新~/.sdkman/etc/config文件如下:
sdkman_beta_channel=true
接下来,打开一个新的终端并执行一个强制更新:
sdk selfupdate force
要离开测试通道,只需将上面的配置设置为false,并遵循相同的步骤。
卸载
在不太可能的情况下,您希望卸载SDKMAN!我们还没有自动化的方法来做这件事。如果你真的想把它从你的系统中删除,那就很容易做到。下面的内容将指导您进行备份,然后从系统中删除整个安装。
tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman
rm -rf ~/.sdkman
最后一步是编辑和删除您的.bashrc, .bash_profile 和/或 .profile文件中的初始化代码片段。 如果你使用ZSH,从.zshrc中删除它。 要删除的代码片段如下:
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
[[ -s "/home/dudette/.sdkman/bin/sdkman-init.sh" ]] && source "/home/dudette/.sdkman/bin/sdkman-init.sh"
一旦删除,您就成功地从你的机器卸载了SDKMAN!。
安装到自定义位置
安装SDKMAN!到一个除$HOME/.sdkman以外的自定义位置是可能的。 这可以通过在安装之前将您的定制位置导出为SDKMAN_DIR来实现。 只需打开一个新的终端并输入:
export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash
为此,您的用户对该文件夹拥有完全访问权限是至关重要的。同样重要的是,如果该文件夹不存在,SDKMAN!将尝试创建它。
使用
安装SDK
最新稳定版本
通过运行下面的命令,安装您的SDK的最新稳定版本(比如Java JDK)。
sdk install java
特定版本
需要一个SDK的特定版本吗?简单地限定你需要的版本:
sdk install java 11.0.9.fx-zulu
安装本地版本
需要一个快照吗?已经有本地安装了吗?设置一个本地版本:
sdk install groovy 3.0.0-SNAPSHOT /path/to/groovy-3.0.0-SNAPSHOT
常用命令
sdk uninstall java 11.0.9.fx-zulu #删除
sdk list java #列出java可安装版本
sdk use scala 2.12.1 #使用某一个版本
sdk selfupdate #自升级
sdk flush temp #临时文件夹
配置优化
尽管配置是有限的,但是可配置项的列表会随着需要而增长。 可以在~/.sdkman/etc/config文件中找到配置。 目前,以下是可配置的:
# make sdkman non-interactive, preferred for CI environments
sdkman_auto_answer=true|false
# perform automatic selfupdates
sdkman_auto_selfupdate=true|false
# disables SSL certificate verification
# https://github.com/sdkman/sdkman-cli/issues/327
# HERE BE DRAGONS....
sdkman_insecure_ssl=true|false
# disable GVM alias, for users of the Go Version Manager
sdkman_disable_gvm_alias=true|false
# configure curl timeouts
sdkman_curl_connect_timeout=5
sdkman_curl_max_time=4
# subscribe to the beta channel
sdkman_beta_channel=true
文章作者 🐳Myki
上次更新 2020-11-12