Jste vývojář, který často testuje aplikace na různých SDK? Mám pro vás dobrou zprávu! SDKMAN je nástroj CLI, který vám pomůže snadno spravovat více sad pro vývoj softwaru v systému Linux. Poskytuje pohodlný způsob instalace, přepínání, seznamování a odstraňování kandidátů. Pomocí SDKMAN můžeme snadno spravovat paralelní verze více SDK. Umožňuje vývojářům instalovat sady pro vývoj softwaru pro JVM, jako jsou Java, Groovy, Scala, Kotlin a Ceylon. Podporovány jsou také Ant, Gradle, Grails, Maven, SBT, Spark, Spring Boot, Vert.x a mnoho dalších. SDKMAN je bezplatný, lehký open source nástroj napsaný v Bash .
Nainstalujte SDKMAN v systému Linux
Instalace SDKMAN je triviální. Nejprve se ujistěte, že máte nainstalovaný zip a rozbalit aplikací. Je k dispozici ve výchozích úložištích většiny distribucí Linuxu. Chcete-li například nainstalovat unzip na systémy založené na Debianu, jednoduše spusťte:
$ sudo apt-get install zip unzip
Poté nainstalujte SDKMAN pomocí příkazu:
$ curl -s "https://get.sdkman.io" | bash
Je to tak jednoduché. Tento příkaz nainstaluje SDKMAN do $HOME/.sdkman umístění.
Ukázkový výstup:
-+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:-MMMmhs/-.` .MMMh .ss+- `yy` sMMN` :N. :mN/ `N/ `o/-` :MMMo +MMMN- .` `ds mMMh do /NN/ `N+....--:/+oooosooo+:sMMM:hMMMM:`my .m+ -MMM+ :N . /NMo -+ooooo+/:-....`...:+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. 'hyymmmdddo MMMMh. ```` `-+yy/`yMMM/ :MMMMMy -sm:.``..-:-.` dMMMMmo-.``````..-:/osyhddddho. `+shdh+. hMMM::MmMMMM/ ./yy/` `:sys+/+sh/ .dMMMMMMmdddddmmNMMMNNNNNMMMMMs sNdo- dMMM- `-/yd/MMMMm-:sy+. :hs- /N` `/ymNNNNNNmmdys+/::----/dMMm:+m- mMMM+ohmo/.` sMMMMdo- .om:`sh `.-----+/.` `.-+ hh/``od. NMMNmds/ `mmy:` +mMy `:yy. /moyso+//+ossso:. .yy` `dy+:` .. :MMMN+---/oys:/+m:`.-:::-` /d+ +MMMMMMNh:` +MN/ -yh. `+hddhy+. /MM+ .sh::NMo -sh/ -NMs `/yy:.NMy `:sh+. `mMm` ./yds- `dMMMmyo:-.````.-:oymNy:` +NMMMMMMMMMMMMMMMMms:` -+shmNMMMNmdy+:` Probíhá pokus o instalaci...Hledám předchozí instalaci SDKMAN...Hledám rozbalení ...Hledám zip...Hledám curl...Hledám sed...Instaluji skripty SDKMAN...Vytvářejte distribuční adresáře...Získávání dostupných kandidátů...Nastavte konfigurační soubor...Stáhněte si archiv skriptů. ..################################################ ######################## 100,0%Extrahovat archiv skriptů...Instalovat skripty...Nastavit verzi na 5.8.3+506 ...Pokusit se o aktualizaci interaktivního bash profilu na běžném UNIXu...Přidán úryvek sdkman init do /home/ostechnix/.bashrcAttempt update profilu zsh...Aktualizován stávající /home/ostechnix/.zshrcVše hotovo! Otevřete prosím nový terminál nebo spusťte následující ve stávajícím:zdroj "/home/ostechnix/.sdkman/bin/sdkman-init.sh" Poté zadejte následující příkaz:sdk helpEnjoy!!!
Po dokončení instalace spusťte následující příkaz pro inicializaci SDKMAN:
zdroj $ "$HOME/.sdkman/bin/sdkman-init.sh"
Pokud jej chcete nainstalovat na vlastní umístění dle vašeho výběru, jiné než $HOME/.sdkman , například /usr/local/ , udělejte:
$ export SDKMAN_DIR="/usr/local/sdkman" &&curl -s "https://get.sdkman.io" | bash
Ujistěte se, že váš uživatel má k této složce plná přístupová práva.
Nakonec zkontrolujte, zda byla instalace úspěšná pomocí příkazu:
Verze $ sdk
Ukázkový výstup:
====VYSÍLÁNÍ ==================================================================* 2020-06-27:sbt 1.3.13 vydán na SDKMAN! #scala* 26. 6. 2020:Micronaut 2.0.0 vydán na SDKMAN! #micronautfw* 2020-06-22:Micronaut 2.0.0.RC2 vydán na SDKMAN! #micronautfw==================================================================================SDKMAN 5.8.3+506
Gratulujeme! SDKMAN byl nainstalován. Pojďme se podívat na to, jak nainstalovat a spravovat sady SDK.
Správa více sad pro vývoj softwaru pomocí SDKMAN
Seznam všech dostupných sad pro vývoj softwaru (SDK)
Chcete-li zobrazit seznam všech dostupných kandidátů (SDK), spusťte:
seznam $ sdk
Ukázkový výstup:
===================================================================================q-ukončit /-hledat dolůj-dolů ?-hledat nahoruk-nahoru h- Pomoc------------------------------------------------- -------------------------------Mravenec (1.10.1) https://ant.apache.org/Apache Ant je Java knihovna a nástroj příkazového řádku, jehož posláním je řídit procesy popsané v souborech sestavení jako cíle a body rozšíření, které jsou na sobě závislé. Hlavním známým využitím Ant je sestavení Java aplikací. Ant poskytuje řadu vestavěných úloh umožňujících kompilovat, sestavovat, testovat a spouštět Java aplikace. Ant lze také efektivně použít k vytváření aplikací bez Java, například aplikací C nebo C++. Obecněji lze Ant použít k pilotování jakéhokoli typu procesu, který lze popsat z hlediska cílů a úkolů. $ sdk install ant---------------------------------------------- ----------------------------------AsciidoctorJ (2.3.1) http://asciidoctor.org/AsciidoctorJ je oficiální knihovna pro spuštění Asciidoctor na JVM. Pomocí AsciidoctorJ můžete převádět obsah AsciiDoc nebo analyzovat strukturu aparovaného dokumentu AsciiDoc z Javy a dalších jazyků JVM.:
Jak můžete vidět, SDKMAN uvádí seznam kandidátů po jednom spolu s popisem kandidáta, oficiálními stránkami a příkazem k instalaci. Stisknutím klávesy ENTER zobrazíte seznam dalších kandidátů. Chcete-li jej zavřít, stiskněte q .
Nainstalujte novou sadu SDK
Chcete-li nainstalovat sadu SDK, například Java JDK, spusťte:
$ sdk install java
Ukázkový výstup:
Stahování:java 11.0.7.hs-adptIn progress...################################# ################################################## ################################################## ############################## 100,0%################## ################################################## ################################################## ############################################# 100,0% Přebalení Java 11.0 .7.hs-adpt...Přebalování dokončeno...Instalace:java 11.0.7.hs-adptInstalace dokončena! Nastavení java 11.0.7.hs-adpt jako výchozí.
Právě jsme nainstalovali Javu. Pojďme zkontrolovat jeho verzi:
$ java --version openjdk 11.0.7 2020-04-14 OpenJDK Runtime Environment AdoptOpenJDK (sestavení 11.0.7+10) OpenJDK 64-Bit Server VM AdoptOpenJDK (sestavení 11.0.7+10, smíšený režim)
Pokud již existuje více sad SDK, zobrazí se dotaz, zda chcete aktuálně nainstalovanou verzi nastavit jako výchozí . Odpověď Ano nastaví aktuálně nainstalovanou verzi jako výchozí.
Nainstalujte konkrétní verzi SDK
Chcete-li nainstalovat konkrétní verzi sady SDK, postupujte takto:
$ sdk install ant 1.10.1
Výše uvedený příkaz nainstaluje Ant verze 1.10.1.
Pokud již máte místní instalaci konkrétního kandidáta, můžete ji nastavit jako místní verzi, jak je uvedeno níže.
$ sdk install groovy 3.0.0-SNAPSHOT /path/to/groovy-3.0.0-SNAPSHOT
Seznam kandidátských verzí
Seznam konkrétních verzí kandidátů:
$ seznam sdk ant
Ukázkový výstup:
==================================================================================Dostupné verze mravenců====================================================================================> * 1.10.1 1.10.0 1.9.9 1.9.8 1.9.7 =================================================================================+ - místní verze* - nainstalováno> - aktuálně se používá====================================================================================
Jak vidíte na výše uvedeném výstupu, mravenec 1.10.1 má předponu ">" a "*". Zde> označuje, že tato verze je aktuálně používána a * označuje, že se jedná o výchozí verzi.
Nastavit výchozí sadu SDK
Jak jsem již řekl, pokud jste nainstalovali více verzí, SDKMAN se zeptá, zda chcete aktuálně nainstalovanou verzi nastavit jako výchozí . Můžete odpovědět Ano a nastavit jej jako výchozí. Také to můžete udělat později pomocí následujícího příkazu:
$ sdk výchozí ant 1.9.9
Výše uvedený příkaz nastaví Apache Ant verze 1.9.9 jako výchozí.
Pro aktuální prostředí použijte konkrétní sadu SDK
Můžete si vybrat konkrétní kandidátskou verzi, kterou chcete použít v aktuálním prostředí.
$ sdk používá ant 1.9.9
Vezměte prosím na vědomí, že tím bude daná verze použita pouze v aktuální relaci. Chcete-li to provést natrvalo, použijte příkaz „default“, jak je uvedeno výše.
Verze zobrazení aktuálně používané
Chcete-li zkontrolovat, co se aktuálně používá pro kandidáta, například Java, spusťte:
$ sdk aktuální java Pomocí java verze 8.0.172-zulu
Chcete-li zkontrolovat, co se aktuálně používá pro všechny kandidáty, například Java, spusťte:
aktuální $ sdk Použití:ant:1.10.1java:8.0.172-zulu
Upgradovat kandidáty
Chcete-li upgradovat zastaralého kandidáta, postupujte takto:
$ sdk upgrade scala
Můžete také zkontrolovat, co je zastaralé u všech kandidátů.
Upgrade $ sdk
Režim offline
SDKMAN má funkci offline režimu, která umožňuje SDKMAN fungovat při práci offline. Offline režim můžete kdykoli povolit nebo zakázat pomocí následujících příkazů:
Povolit režim offline $ sdk
$ sdk offline zakázat
Odebrání nainstalovaných sad SDK
Chcete-li odebrat nainstalovanou sadu SDK, spusťte:
$ sdk odinstalovat ant 1.9.9
Získání nápovědy
Chcete-li zobrazit sekci nápovědy, spusťte:
nápověda $ sdk Použití:sdk[kandidát] [verze]sdk offline
příkazy:instalovat nebo i [verze]odinstalovat nebo rm seznam nebo ls [kandidát]použít nebo u [verze]výchozí nebo d [verze]aktuální nebo c [kandidát]upgrade nebo ug [kandidát]verze nebo vbroadcast nebo bhelp nebo hoffline [povolit|zakázat]samoaktualizace [vynutit]updateflush kandidát :SDK k instalaci:groovy, scala, grails, gradle, kotlin atd. použijte příkaz list pro úplný seznam kandidátů, např.:$ sdk listversion :kde je volitelné, výchozí hodnota je nejnovější stabilní, pokud není poskytnuta, např.:$ sdk install groovy Aktualizujte SDKMAN
Následující příkaz nainstaluje novou verzi SDKMAN, pokud je k dispozici.
$ sdk selfupdateSDKMAN bude také pravidelně kontrolovat případné aktualizace a bude vás informovat s pokyny k aktualizaci.
UPOZORNĚNÍ:SDKMAN je zastaralý a vyžaduje aktualizaci. $ aktualizace sdkPřidání nových kandidátů:scalaOdstranit mezipaměť
Čas od času se doporučuje vyčistit mezipaměť, která obsahuje stažené binární soubory SDK. Chcete-li to provést, jednoduše spusťte:
$ sdk flush archivyJe také dobré vyčistit dočasnou složku, abyste ušetřili místo:
$ sdk flush tempOdinstalujte SDKMAN
Pokud nepotřebujete SDKMAN nebo se vám nelíbí, odeberte jej, jak je uvedeno níže.
$ tar zcvf ~/sdkman-backup_$(datum +%F-%kh%M).tar.gz -C ~/ .sdkman$ rm -rf ~/.sdkmanNakonec otevřete svůj .bashrc (nebo .bash_profile nebo .profile ) soubor:
$ nano ~/.bashrcNajděte a odstraňte následující řádky.
#TOTO MUSÍ BÝT NA KONCI SOUBORU, ABY SDKMAN FUNGoval!!!export SDKMAN_DIR="/home/ostechnix/.sdkman"[[ -s "/home/ostechnix/.sdkman/bin/sdkman-init .sh" ]] &&zdroj "/home/ostechnix/.sdkman/bin/sdkman-init.sh"
Pokud používáte ZSH, odstraňte výše uvedené řádky z .zshrc soubor.
Související čtení:
- Jak spravovat více verzí Java pomocí jEnv v systému Linux
- Jak spravovat více verzí Pythonu pomocí Pyenv v systému Linux