Sind Sie ein Entwickler, der häufig Anwendungen auf verschiedenen SDKs testet? Ich habe eine gute Nachricht für dich! SDKMAN ist ein CLI-Tool, mit dem Sie mehrere Softwareentwicklungskits unter Linux einfach verwalten können. Es bietet eine bequeme Möglichkeit, Kandidaten zu installieren, zu wechseln, aufzulisten und zu entfernen. Mit SDKMAN können wir problemlos parallele Versionen mehrerer SDKs verwalten. Es ermöglicht den Entwicklern, Softwareentwicklungskits für die JVM wie Java, Groovy, Scala, Kotlin und Ceylon zu installieren. Ant, Gradle, Grails, Maven, SBT, Spark, Spring Boot, Vert.x und viele andere werden ebenfalls unterstützt. SDKMAN ist ein kostenloses, leichtes Open-Source-Dienstprogramm, das in Bash geschrieben wurde .
SDKMAN unter Linux installieren
Die Installation von SDKMAN ist trivial. Stellen Sie zunächst sicher, dass Sie zip installiert haben und entpacken Anwendungen. Es ist in den Standard-Repositories der meisten Linux-Distributionen verfügbar. Um beispielsweise unzip auf Debian-basierten Systemen zu installieren, führen Sie einfach Folgendes aus:
$ sudo apt-get install zip unzip
Installieren Sie dann SDKMAN mit dem Befehl:
$ curl -s "https://get.sdkman.io" | bash
So einfach ist das. Dieser Befehl installiert SDKMAN in $HOME/.sdkman Ort.
Beispielausgabe:
-+syyyyyyys:`/yho:` -yd. `/yh/` +m. .oho. hy .` .sh/` :N` `-/o` `+dyyo:. .yh:` `M- `-/osysoym :hs` `-+sys:hhyssssssssy+ .sh:` `N:ms/-`` yy.yh- -hy. `.N-````````+N. `od/` `N- -/oM- ddd+` `sd:hNNm -N::do` .M. dMMM-`ms. /d+` `NMMs `do .yy- :N` ```mMMM. - -hy. /MMM:yh `+d+` `:/oo/` `-/osyh/ossssssdNMM` .sh:yMMN` /m. -dh- :ymNMMMMy `-/shmNm-`:N/-.`` `.sN /N- `NMMy .m/ `oNs` -hysosmMMMMydmNmds+-.:ohm :sd` :MMM/ yy .hN+ /d:-MMMhs/-.` .MMMh .ss+- `yy` sMMN` :N. :mN/ `N/ `o/-` :MMMo +MMMN- .` `ds mMMh do /NN/ `N+....--:/+oooooo+:sMMM:hMMMM:`my .m+ -MMM+ :N . /NMo -+oooo+/:-....`...:+hNMN. `NMMMd` .MM/ -m:oMMN. hs -NMd` :mm -MMMm- .s/ -MMm. /m-mMMd-N. `mMM/ .- /MMh. -dMo -MMMy od. .MMMs..---yh +MMM. sNo`.sNMM+ :MMMM/ sh`+MMMNmNm+++- mMMM- /--ohmMMM+ :MMMMm. `hyymmmmttdo MMMMh. ```` `-+yy/`yMMM/ :MMMMMy -sm:.``..-:-.` dMMMMmo-.``````..-:/osyhddddho. `+shdh+. hMMM::MmMMMM/ ./yy/` `:sys+/+sh/ .dMMMMMMmdddddmmNMMNNNNNNMMMMMs sNdo- dMMM- `-/yd/MMMMm-:sy+. :hs- /N` `/ymNNNNNNmmdys+/::----/dMMm:+m- mMMM+ohmo/.` sMMMMdo- .om:`sh `.-----+/.` `.-+ hh/` `od. NMMNmds/ `mmy:` +mMy `:yy. /moyso+//+osso:. .yy` `dy+:` .. :MMMN+---/oys:/+m:`.-:::-` /d+ +MMMMMMMNh:` +MN/ -yh. `+hddhy+. /MM+ .sh::NMo -sh/ -NMs `/yy:.NMy `:sh+. `mMm` ./yds- `dMMMmyo:-.````.-:oymNy:` +NMMMMMMMMMMMMMMMMms:` -+shmNMMMNmdy+:` Versuch jetzt Installation...Suche nach einer früheren Installation von SDKMAN...Suche nach Entpacken ...Suche nach zip ...Suche nach curl ...Suche nach sed ...Installieren von SDKMAN-Skripten ...Erstellen von Distributionsverzeichnissen ...Erhalten verfügbarer Kandidaten ...Prime die Konfigurationsdatei ...Laden Sie das Skriptarchiv herunter. ..################################################ ######################## 100.0% Skriptarchiv extrahieren ... Skripte installieren ... Version auf 5.8.3+506 setzen ... Update versuchen des interaktiven Bash-Profils auf normalem UNIX ... sdkman init-Snippet zu /home/ostechnix/.bashrc hinzugefügt. Aktualisierung des zsh-Profils versuchen ... bestehendes /home/ostechnix/.zshrc aktualisiertAlles erledigt! Bitte öffnen Sie ein neues Terminal oder führen Sie Folgendes im vorhandenen aus:source "/home/ostechnix/.sdkman/bin/sdkman-init.sh" Führen Sie dann den folgenden Befehl aus:sdk helpEnjoy!!!
Führen Sie nach Abschluss der Installation den folgenden Befehl aus, um SDKMAN zu initialisieren:
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
Wenn Sie es an einem anderen benutzerdefinierten Ort Ihrer Wahl als $HOME/.sdkman installieren möchten , zum Beispiel /usr/local/ , tun:
$ export SDKMAN_DIR="/usr/local/sdkman" &&curl -s "https://get.sdkman.io" | bash
Stellen Sie sicher, dass Ihr Benutzer volle Zugriffsrechte auf diesen Ordner hat.
Überprüfen Sie abschließend, ob die Installation erfolgreich war, mit dem Befehl:
$ SDK-Version
Beispielausgabe:
====ÜBERTRAGUNG ===============================================================* 2020-06-27:sbt 1.3.13 veröffentlicht auf SDKMAN! #scala* 26.06.2020:Micronaut 2.0.0 auf SDKMAN veröffentlicht! #micronautfw* 22.06.2020:Micronaut 2.0.0.RC2 auf SDKMAN veröffentlicht! #micronautfw============================================================================SDKMAN 5.8.3+506
Herzliche Glückwünsche! SDKMAN wurde installiert. Sehen wir uns an, wie SDKs installiert und verwaltet werden.
Verwalten Sie mehrere Software Development Kits mit SDKMAN
Alle verfügbaren Software Development Kits (SDK) auflisten
Um die Liste aller verfügbaren Kandidaten (SDKs) anzuzeigen, führen Sie Folgendes aus:
$ SDK-Liste
Beispielausgabe:
============================================================================q-beenden /-Suche nach untenj-unten ?-Suche nach obenk-auf h- Hilfe------------------------------------------------- ------------------------------- Ant (1.10.1) https://ant.apache.org/Apache Ant ist Eine Java-Bibliothek und ein Befehlszeilentool, dessen Aufgabe es ist, Prozesse zu steuern, die in Build-Dateien als voneinander abhängige Ziele und Erweiterungspunkte beschrieben werden. Die wichtigste bekannte Verwendung von Ant ist das Erstellen von Java-Anwendungen. Ant stellt eine Reihe von eingebauten Tasks bereit, mit denen Java-Anwendungen kompiliert, assembliert, getestet und ausgeführt werden können. Ant kann auch effektiv verwendet werden, um Nicht-Java-Anwendungen zu erstellen, beispielsweise C- oder C++-Anwendungen. Ganz allgemein kann Ant verwendet werden, um jede Art von Prozess zu steuern, der in Form von Zielen und Aufgaben beschrieben werden kann. $ sdk installieren ant--------------------------------------------- ----------------------------------AsciidoctorJ (2.3.1) http://asciidoctor.org/AsciidoctorJ ist die offizielle Bibliothek zum Ausführen von Asciidoctor auf der JVM. Mit AsciiDoctorJ können Sie AsciiDoc-Inhalte konvertieren oder die Struktur eines geparsten AsciiDoc-Dokuments aus Java und anderen JVM-Sprachen analysieren.:
Wie Sie sehen können, listet SDKMAN jeweils einen Kandidaten auf, zusammen mit der Beschreibung des Kandidaten, der offiziellen Website und dem Installationsbefehl. Drücken Sie die EINGABETASTE, um die nächsten Kandidaten aufzulisten. Um es zu schließen, drücken Sie q .
Installieren Sie ein neues SDK
Um ein SDK zu installieren, beispielsweise Java JDK, führen Sie Folgendes aus:
$ sdk Java installieren
Beispielausgabe:
Herunterladen:java 11.0.7.hs-adptIn Bearbeitung...################################## ################################################## ################################################## ############################## 100,0 %################## ################################################## ################################################## ############################################### 100.0% Umpacken von Java 11.0 .7.hs-adpt...Umpacken abgeschlossen...Installation:java 11.0.7.hs-adptInstallation abgeschlossen!Java 11.0.7.hs-adpt als Standard festlegen.
Wir haben gerade Java installiert. Lassen Sie uns seine Version überprüfen:
$ java --version openjdk 11.0.7 2020-04-14OpenJDK Runtime Environment AdoptOpenJDK (Build 11.0.7+10)OpenJDK 64-Bit Server VM AdoptOpenJDK (Build 11.0.7+10, gemischter Modus)
Wenn bereits mehrere SDKs vorhanden sind, werden Sie gefragt, ob die aktuell installierte Version als Standard festgelegt werden soll . Antworten Sie mit Ja setzt die aktuell installierte Version als Standard.
Installieren Sie eine bestimmte Version des SDK
Gehen Sie wie folgt vor, um eine bestimmte Version eines SDK zu installieren:
$ sdk install ant 1.10.1
Der obige Befehl installiert Ant Version 1.10.1.
Wenn Sie bereits eine lokale Installation eines bestimmten Kandidaten haben, können Sie ihn wie unten als lokale Version festlegen.
$ sdk install groovy 3.0.0-SNAPSHOT /path/to/groovy-3.0.0-SNAPSHOT
Kandidatenversionen auflisten
So listen Sie bestimmte Kandidatenversionen auf:
$ sdk list ant
Beispielausgabe:
============================================================================Verfügbare Ant-Versionen=============================================================================> * 1.10.1 1.10.0 1.9.9 1.9.8 1.9.7 =============================================================================+ - lokale Version* - installiert> - derzeit in Verwendung ============================================================================
Wie Sie in der obigen Ausgabe sehen, hat Ant 1.10.1 das Präfix „>“ und „*“. Hier zeigt> an, dass diese Version derzeit verwendet wird, und * zeigt an, dass es sich um die Standardversion handelt.
Standard-SDK festlegen
Wie ich bereits sagte, wenn Sie mehrere Versionen installiert haben, fragt SDKMAN, ob die aktuell installierte Version als Standard festgelegt werden soll . Sie können mit Ja antworten, um es als Standard festzulegen. Sie können dies auch später tun, indem Sie den folgenden Befehl verwenden:
$ sdk default ant 1.9.9
Der obige Befehl legt Apache Ant Version 1.9.9 als Standard fest.
Spezifisches SDK für aktuelle Shell verwenden
Sie können eine bestimmte Kandidatenversion zur Verwendung in der aktuellen Shell auswählen.
$ sdk verwendet Ant 1.9.9
Bitte beachten Sie, dass dadurch die angegebene Version nur in der aktuellen Sitzung verwendet wird. Um es dauerhaft zu machen, verwenden Sie den Befehl "default" wie oben gezeigt.
Aktuell verwendete Versionen anzeigen
Um zu überprüfen, was derzeit für einen Kandidaten verwendet wird, beispielsweise Java, führen Sie Folgendes aus:
$ sdk aktuelle Java Verwendung von Java-Version 8.0.172-zulu
Um zu überprüfen, was derzeit für alle Kandidaten verwendet wird, beispielsweise Java, führen Sie Folgendes aus:
$ sdk aktuell Unter Verwendung von:ant:1.10.1java:8.0.172-zulu
Upgrade-Kandidaten
Gehen Sie wie folgt vor, um einen veralteten Kandidaten zu aktualisieren:
$ sdk upgrade scala
Sie können auch überprüfen, was für alle Kandidaten veraltet ist.
$ SDK-Upgrade
Offline-Modus
SDKMAN verfügt über eine Offline-Modus-Funktion, die es dem SDKMAN ermöglicht, offline zu arbeiten. Sie können den Offline-Modus jederzeit mit den folgenden Befehlen aktivieren oder deaktivieren:
$ sdk offline aktivieren
$ sdk offline deaktivieren
Installierte SDKs entfernen
Um ein installiertes SDK zu entfernen, führen Sie Folgendes aus:
$ sdk deinstalliert 1.9.9
Hilfe bekommen
Um den Hilfeabschnitt anzuzeigen, führen Sie Folgendes aus:
$ SDK-Hilfe Verwendung:sdk[candidate] [version]sdk offline commands:install or i [version]uninstall or rm list or ls [candidate]use or u [version]default oder d [version]current oder c [candidate]upgrade oder ug [candidate]version oder vbroadcast oder bhelp oder hoffline [enable|disable]selfupdate [force]updateflush candidate :das zu installierende SDK:groovy, scala, grails, gradle, kotlin usw. Verwenden Sie den list-Befehl für eine umfassende Liste von Kandidaten, z. vor> SDKMAN aktualisieren
Der folgende Befehl installiert eine neue Version von SDKMAN, falls verfügbar.
$ sdk-SelbstaktualisierungSDKMAN sucht außerdem regelmäßig nach Aktualisierungen und informiert Sie mit Anweisungen zur Aktualisierung.
WARNUNG:SDKMAN ist veraltet und erfordert ein Update.$ sdk updateHinzufügen neuer Kandidaten:scalaCache entfernen
Es wird empfohlen, den Cache, der die heruntergeladenen SDK-Binärdateien enthält, von Zeit zu Zeit zu bereinigen. Führen Sie dazu einfach Folgendes aus:
$ sdk-Archive leerenEs ist auch gut, den temporären Ordner zu bereinigen, um Platz zu sparen:
$ sdk-Flush-TempSDKMAN deinstallieren
Wenn Sie SDKMAN nicht benötigen oder nicht mögen, entfernen Sie es wie unten gezeigt.
$ tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman$ rm -rf ~/.sdkmanÖffnen Sie schließlich Ihre .bashrc (oder .bash_profile oder .profil ) Datei:
$ nano ~/.bashrcSuchen und entfernen Sie die folgenden Zeilen.
#DAS MUSS AM ENDE DER DATEI SEIN, DAMIT SDKMAN FUNKTIONIERT!!! export SDKMAN_DIR="/home/ostechnix/.sdkman"[[ -s "/home/ostechnix/.sdkman/bin/sdkman-init .sh" ]] &&source "/home/ostechnix/.sdkman/bin/sdkman-init.sh"
Wenn Sie ZSH verwenden, entfernen Sie die obigen Zeilen aus der .zshrc Datei.
Verwandte Lektüre:
- So verwalten Sie mehrere Java-Versionen mit jEnv unter Linux
- So verwalten Sie mehrere Python-Versionen mit Pyenv unter Linux