SDKMAN说明

SDKMAN!:软件开发工具包管理利器
SDKMAN!是一款强大的工具,用于在基于Unix的系统上管理多个软件开发工具包的并行版本。它提供了方便的命令行界面和API,支持多种编程语言和工具的安装、切换、删除及版本管理,如Java、Groovy、Scala、Kotlin等。本文详细介绍其安装、使用及高级功能。

 

 

sdkman.png

0.SDKMAN!

是在大多数基于Unix的系统上管理多个软件开发工具包的并行版本的工具。它提供了一个方便的命令行界面(CLI)和API来安装,切换,删除和列出sdk相关信息。以下是一些特性: 
* By Developers, for Developers 
安装SDK不再需要去各种下载页面去下载,解压,以及设置xxx_HOME或者PATH环境变量. 
* 多平台 
可以在任何基于UNIX的平台上运行:Mac OSX,Linux,Cygwin,Solaris和FreeBSD。 Powershell CLI版本适用于Windows用户。 
* 全套JAVA支持 
为Java,Groovy,Scala,Kotlin和Ceylon等JVM安装软件开发工具包。 Ant,Gradle,Grails,Maven,SBT,Spark,Spring Boot,Vert.x以及其他许多支持。 
* APIs 
使用开放的Broker REST API可以轻松地编写新的客户端。供应商可以通过安全的供应商API发布自己的版本。 
* 轻量 
只需要有curl \ zip/unzip就可以在bash中通过命令使用.还可和ZSH一起使用.

1.安装

在终端中输入以下命令进行安装:

$ curl -s "https://get.sdkman.io" | bash

 

如果提示缺少zip或unzip,安装后再次执行上面的命令即可.

# 安装需要的组件,Ubuntu为例
$ apt install zip
$ apt install unzip

 

安装完成后,在终端中输入:

$ source "$HOME/.sdkman/bin/sdkman-init.sh"

 

输入以下命令查看安装情况:

$ sdk version
# 以下为输出
==== BROADCAST =================================================================
* 09/01/18: Gradle 4.5-rc-1 released on SDKMAN! #gradle
* 06/01/18: sbt 1.1.0 released on SDKMAN! #scala
* 20/12/17: Gradle 4.4.1 released on SDKMAN! #gradle
================================================================================

SDKMAN 5.6.0+287

2.安装到自定义位置

SDKMAN的默认安装位置为:$HOME/.sdkman.你可以通过设置SDKMAN_DIR环境变量来修改安装位置:

$ export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash

3.Beta通道

SDKMAN的Bate版,包含一些cli的新功能,但是可能会不稳定.如果需要使用Bate版本,需要修改~/.sdkman/etc/config文件:

sdkman_beta_channel=true

 

然后打开一个终端执行:

$ sdk selfupdate force

如果不需要使用Bate版本了,将上面的配置修改为false,再执行一次更新即可.

4.卸载

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"

5.使用

5.0 列出支持的软件

$ sdk list
# 执行命令后进入vi模式进行阅读,q退出阅读

5.1 列出软件的版本

$ sdk list gradle

================================================================================
Available Gradle Versions
================================================================================
     4.5-rc-1             4.2.1                3.1                  2.11           
 > * 4.4.1                4.2-rc-2             3.0                  2.10           
     4.4-rc-6             4.2-rc-1             2.9                  2.1            
     4.4-rc-5             4.2                  2.8                  2.0            
     4.4-rc-4             4.1                  2.7                  1.9            
     4.4-rc-3             4.0.2                2.6                  1.8            
     4.4-rc-2             4.0.1                2.5                  1.7            
     4.4-rc-1             4.0                  2.4                  1.6            
     4.4                  3.5.1                2.3                  1.5            
     4.3.1                3.5                  2.2.1                1.4            
     4.3-rc-4             3.4.1                2.2                  1.3            
     4.3-rc-3             3.4                  2.14.1               1.2            
     4.3-rc-2             3.3                  2.14                 1.12           
     4.3-rc-1             3.2.1                2.13                 1.11           
     4.3                  3.2                  2.12                 1.10           

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

5.2 安装gradle

$ sdk install gradle

Downloading: gradle 4.4.1

In progress...

######################################################################## 100.0%

Installing: gradle 4.4.1
Done installing!


Setting gradle 4.4.1 as default.

5.3 安装指定版本软件

# 后面跟上版本号即可
$ sdk install gradle 4.4.1

5.4 安装本地包

$ sdk install groovy 3.0.0-SNAPSHOT /path/to/groovy-3.0.0-SNAPSHOT

5.5 卸载包

$ sdk uninstall scala 2.11.6

5.6 选择版本

选择一个版本用于当前终端:

$ sdk use scala 2.12.1

5.7 设置默认版本

$ sdk default scala 2.11.6

5.8 查看当前使用的版本

$ sdk current java
  Using java version 8u111

#查看所有本地包的当前版本
$ sdk current
  Using:
  groovy: 2.4.7
  java: 8u111
  scala: 2.12.1

5.9 sdk版本升级

$ sdk upgrade springboot
  Upgrade:
  springboot (1.2.4.RELEASE, 1.2.3.RELEASE < 1.2.5.RELEASE)

# 本地所有sdk全部升级
$ sdk upgrade
  Upgrade:
  gradle (2.3, 1.11, 2.4, 2.5 < 2.6)
  grails (2.5.1 < 3.0.4)
  springboot (1.2.4.RELEASE, 1.2.3.RELEASE < 1.2.5.RELEASE)

5.10 离线模式

$ sdk offline enable
  Forced offline mode enabled.

$ sdk offline disable
  Online mode re-enabled!

当电脑没有网的时候,离线模式会进行自动切换.

5.11 SDKMAN!版本升级

$ sdk selfupdate

# 强制重新安装
$ sdk selfupdate force
### 安装 SDKMAN! 在 WSL 环境中的步骤 #### 准备工作 为了确保顺利安装 SDKMAN!, 需要先确认已正确设置了 Windows Subsystem for Linux (WSL)[^2]。这包括但不限于完成 WSL 的安装以及更新至最新版本。 #### 更新包管理器 在开始之前,建议通过执行以下命令来刷新软件源列表并升级现有程序包: ```bash sudo apt update && sudo apt upgrade -y ``` 此操作有助于减少因依赖项不匹配而引发的问题[^1]。 #### 安装必要的工具和库 某些 Java 开发环境可能需要特定的开发工具链和支持文件。可以通过运行下面的命令来进行预安装: ```bash sudo apt install curl zip unzip procps file git -y ``` 这些组件对于后续安装 JDK 或其他由 SDKMAN! 提供的语言平台至关重要。 #### 执行 SDKMAN! 安装脚本 接下来就是正式安装 SDKMAN! 的环节了。只需简单地输入如下指令即可自动下载并设置好整个环境: ```bash curl -s "https://get.sdkman.io" | bash ``` 这条命令会从官方服务器获取最新的安装包,并按照指引逐步完成部署过程。 #### 初始化配置 当上述流程结束后,关闭当前终端窗口再重新开启一个新的实例。这样做是为了让新加入系统的路径变量生效。之后可以验证是否成功加载了 SDKMAN! : ```bash source "$HOME/.sdkman/bin/sdkman-init.sh" ``` 如果一切正常的话,此时应该能够看到欢迎信息提示 SDKMAN! 已经准备就绪待命服务啦! #### 测试安装成果 最后一步便是检验刚刚的努力是否有收获咯~试着列出可用的 Groovy 版本作为例子吧: ```bash sdk list groovy ``` 只要能看到一系列候选版本号,则说明大功告成!现在可以在 WSL 中尽情享受多版本 JVM 生态圈带来的便利之处了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值