和各位前辈一样,我也是在安装Gradle的时候发现了SDKMAN!
和MacPort HomeBrew类似,它也是一款SDK的管理软件。
参考官网,我们先来看一下它如何安装。
Step 0. 打开终端,输入指令
curl -s https://get.sdkman.io | bash
等待片刻后即可安装完毕。
Step 1. 执行PATH环境变量配置脚本
source "$HOME/.sdkman/bin/sdkman-init.sh"
大家可以cat一下,主要是将sdkman对应的环境变量给注册了。
Step 2. 尝试使用SDKMAN
输入指令,查看SDKMAN版本,确认安装成功:
sdk version
终端返回:
SDKMAN 5.5.13+272
如果不进行Step1中的操作的话,使用SDKMAN会报错:
sdk: command not found
Step 3. 修改/.bash_profile使其自动加载配置脚本
由于当前版本的SDKMAN配置脚本中并没有使/.bash_profile自动加载配置脚本,导致每次重新打开一个Terminal之后,我们都需要重新进行Step 1操作。因此,我们需要对其进行修改。
先进入bash文件:
vim ~/.bash_profile
然后将下列指令添加进去,注意替换/path/to/user-home为你自己的$HOME路径:
export SDKMAN_DIR="/path/to/user-home/.sdkman"
[[ -s "/path/to/user-home/.sdkman/bin/sdkman-init.sh" && -z $(which sdkman-init.sh | grep '/sdkman-init.sh') ]] && source "/path/to/user-home/.sdkman/bin/sdkman-init.sh"
以上就是SDKMAN的安装流程。完毕之后,我们可以享受(enjoy)它带来的便捷了!
使用
可以输入下面的指令进行查询:
sdk help
输出帮助内容如下
Usage: sdk <command> [candidate] [version]
sdk offline <enable|disable>
commands:
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]
outdated or o [candidate]
version or v
broadcast or b
help or h
offline [enable|disable]
selfupdate [force]
flush <candidates|broadcast|archives|temp>
candidate : the SDK to install: groovy, scala, grails, akka, 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
使用很简单。
下面例举几个使用方式
1. 安装gradle
sdk install gradle
2. 安装指定版本的gradle
sdk install gradle 4.2
3. 移除安装的gradle
sdk uninstall gradle
or
sdk rm gradle
4. 使用临时版本
sdk use gradle 3.0
5、设置默认版本
sdk default gradle 3.0
6. 查看安装的sdk版本列表
sdk current gradle
另:
如果大家在使用中遇到类似以下问题:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'javajo-gradle'.
> java.io.FileNotFoundException: /path/to/user/.gvm/gradle/2.7/lib/plugins/gradle-diagnostics-2.7.jar (No such file or directory)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
其原因是Gradle的守护进程缓存了以前安装的Gradle目录信息,当Gradle目录改变但缓存没有更新时,便会BUILD FAILED.
解决方法是:
gradle --stop
将该守护进程终止即可。