和各位前輩一樣,我也是在安裝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
將該守護進程終止即可。