搜搜吧

查看: 13|回复: 0

[资讯] SDKMAN:轻松管理多个软件开发套件 (SDK) 的命令行工具[含1P]

[复制链接]
  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 454 天

    [LV.9]以坛为家II

    研究生

    8295

    主题

    8768

    帖子

    2万

    积分

    Rank: 8Rank: 8

    UID
    15343
    威望
    -465
    贡献
    5267
    在线时间
    170 小时
    注册时间
    2015-10-12
    发表于 2018-11-8 14:21:59 | 显示全部楼层 |阅读模式
    推广者专属福利,新客户无门槛领取总价值高达2775元代金券,每种代金券限量500张,先到先得。

    501ed1ad2b4bb3ef72a9323f8d2c8664.png-wh_651x-s_1007653428.jpg

    你是否是一个经常在不同的 SDK 下安装和测试应用的开发者?我有一个好消息要告诉你!给你介绍一下 SDKMAN,一个可以帮你轻松管理多个 SDK 的命令行工具。它为安装、切换、列出和移除 SDK 提供了一个简便的方式。有了 SDKMAN,你可以在任何类 Unix 的操作系统上轻松地并行管理多个 SDK 的多个版本。它允许开发者为 JVM 安装不同的 SDK,例如 Java、Groovy、Scala、Kotlin 和 Ceylon、Ant、Gradle、Grails、Maven、SBT、Spark、Spring Boot、Vert.x,以及许多其他支持的 SDK。SDKMAN 是免费、轻量、开源、使用 Bash 编写的程序。

    安装 SDKMAN

    安装 SDKMAN 很简单。首先,确保你已经安装了 zip 和 unzip 这两个应用。它们在大多数的 Linux 发行版的默认仓库中。
    例如,在基于 Debian 的系统上安装 unzip,只需要运行:

    • $ sudo apt-get install zip unzip

    然后使用下面的命令安装 SDKMAN:

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

    在安装完成之后,运行以下命令:

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

    如果你希望自定义安装到其他位置,例如 /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 已经安装完成了。让我们接下来看如何安装和管理 SDKs 吧。

    管理多个 SDK

    查看可用的 SDK 清单,运行:

    • $ sdk list

    将会输出:

    • ================================================================================
    • Available Candidates
    • ================================================================================
    • q-quit /-search down
    • j-down ?-search up
    • k-up h-help
    • --------------------------------------------------------------------------------
    • Ant (1.10.1) https://ant.apache.org/
    • Apache Ant is a Java library and command-line tool whose mission is to drive
    • processes described in build files as targets and extension points dependent
    • upon each other. The main known usage of Ant is the build of Java applications.
    • Ant supplies a number of built-in tasks allowing to compile, assemble, test and
    • run Java applications. Ant can also be used effectively to build non Java
    • applications, for instance C or C++ applications. More generally, Ant can be
    • used to pilot any type of process which can be described in terms of targets and
    • tasks.
    • : $ sdk install ant

    就像你看到的,SDK 每次列出众多 SDK 中的一个,以及该 SDK 的描述信息、官方网址和安装命令。按回车键继续下一个。

    安装一个新的 SDK,例如 Java JDK,运行:

    • $ sdk install java

    将会输出:

    • Downloading: java 8.0.172-zulu
    • In progress...
    • ######################################################################################## 100.0%
    • Repackaging Java 8.0.172-zulu...
    • Done repackaging...
    • Installing: java 8.0.172-zulu
    • Done installing!
    • Setting java 8.0.172-zulu as default.

    如果你安装了多个 SDK,它将会提示你是否想要将当前安装的版本设置为 默认版本。回答 Yes 将会把当前版本设置为默认版本。

    使用以下命令安装一个 SDK 的其他版本:

    • $ sdk install ant 1.10.1

    如果你之前已经在本地安装了一个 SDK,你可以像下面这样设置它为本地版本。

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

    列出一个 SDK 的多个版本:

    • $ sdk list ant

    将会输出:

    • ================================================================================
    • Available Ant Versions
    • ================================================================================
    • > * 1.10.1
    • 1.10.0
    • 1.9.9
    • 1.9.8
    • 1.9.7
    • ================================================================================
    • + - local version
    • * - installed
    • > - currently in use
    • ================================================================================

    像我之前说的,如果你安装了多个版本,SDKMAN 会提示你是否想要设置当前安装的版本为 默认版本。你可以回答 Yes 设置它为默认版本。当然,你也可以在稍后使用下面的命令设置:

    • $ sdk default ant 1.9.9

    上面的命令将会设置 Apache Ant 1.9.9 为默认版本。

    你可以根据自己的需要选择使用任何已安装的 SDK 版本,仅需运行以下命令:

    • $ sdk use ant 1.9.9

    检查某个具体 SDK 当前的版本号,例如 Java,运行:

    • $ sdk current java
    • Using java version 8.0.172-zulu

    检查所有当下在使用的 SDK 版本号,运行:

    • $ sdk current
    • Using:
    • ant: 1.10.1
    • java: 8.0.172-zulu

    升级过时的 SDK,运行:

    • $ sdk upgrade scala

    你也可以检查所有的 SDK 中还有哪些是过时的。

    • $ sdk upgrade

    SDKMAN 有离线模式,可以让 SDKMAN 在离线时也正常运作。你可以使用下面的命令在任何时间开启或者关闭离线模式:

    • $ sdk offline enable
    • $ sdk offline disable

    要移除已安装的 SDK,运行:

    • $ sdk uninstall ant 1.9.9

    要了解更多的细节,参阅帮助章节。

    • $ 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]
    • 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 会定期检查更新,并给出让你了解如何更新的指令。

    • WARNING: SDKMAN is out-of-date and requires an update.
    • $ sdk update
    • Adding new candidates(s): scala
    清除缓存

    建议时不时的清理缓存(包括那些下载的 SDK 的二进制文件)。仅需运行下面的命令就可以了:

    • $ sdk flush archives

    它也可以用于清理空的文件夹,节省一点空间:

    • $ sdk flush temp
    卸载 SDKMAN

    如果你觉得不需要或者不喜欢 SDKMAN,可以使用下面的命令删除。

    • $ tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman
    • $ rm -rf ~/.sdkman

    最后打开你的 .bashrc、.bash_profile 和/或者 .profile,找到并删除下面这几行。

    • #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 可以帮到你。还有更多的干货即将到来。敬请期待!


    楼主热帖排行榜
    搜搜吧社区温馨提示:
    搜搜吧(www.sosoba.org)十分重视网络版权及其他知识产权的保护,针对网络侵权采取如下版权政策:
    1、本站有理由相信网友侵犯任何人的版权或作品,(图文,文字,下载,视频,非法传播),本站有权不事先通知即删除涉嫌侵权的作品和内容!
    2、本站将采取必要的网络技术手段,确认为侵权作品或内容的用户有权进行警告、屏蔽、删除的行为,尽可能的防止侵权行为的发生!
    3、如若您的作品或内容在搜搜吧被侵权,请及时联系我们并提供能证明版权所有的物品,我们将及时进行处理,给您造成不便,敬请谅解!
    4、搜搜吧删帖,投诉,举报,侵权,账号解封唯一指定快速受理频道,请直接发送邮件到 kefu-sosoba@qq.com 一个工作日内核实并邮件通知立即删除
    soso搜搜吧社区是聚合百度搜索,搜狗搜索,360搜索,新闻,教育,站长,广告,娱乐,影视,微信,网盘,营销,手机,汽车,游戏,论坛综合为一体的大型门户社区www.sosoba.org
    Powered by www.sosoba.org X3.4© 2013-2019 搜搜吧社区 小黑屋|手机版|地图|关于我们|新闻资讯|soso搜搜吧社区官网
    搜搜吧社区官网创建于2013年07月23日,本站内容均为会员发表,并不代搜搜吧社区立场,请遵守当地相关法律,客服邮箱: kefu-sosoba@qq.com
    本站所有的内容均来自互联网以及第三方作者自由发布、本站soso搜搜吧不承担任何的法律责任、若有侵权请来信告知,我们在收到举报后的一个工作日内立即删除
    推荐使用:chrmoe谷歌浏览器,搜狗浏览器,QQ浏览器,360极速浏览器,360安全浏览器,猎豹浏览器,火狐浏览器,世界之窗,百度浏览器,Safari浏览器,ios,Android

    GMT+8, 2018-11-19 17:56 , Processed in 1.140625 second(s), 30 queries , Gzip On.

    快速回复 返回顶部 返回列表