Sei uno sviluppatore che testa spesso applicazioni su SDK diversi? Ho una buona notizia per te! SDKMAN è uno strumento CLI che ti aiuta a gestire facilmente più kit di sviluppo software su Linux. Fornisce un modo conveniente per installare, cambiare, elencare e rimuovere i candidati. Utilizzando SDKMAN, possiamo gestire facilmente versioni parallele di più SDK. Consente agli sviluppatori di installare kit di sviluppo software per JVM come Java, Groovy, Scala, Kotlin e Ceylon. Sono supportati anche Ant, Gradle, Grails, Maven, SBT, Spark, Spring Boot, Vert.x e molti altri. SDKMAN è un'utilità open source gratuita, leggera e scritta in Bash .
Installa SDKMAN su Linux
L'installazione di SDKMAN è banale. Innanzitutto, assicurati di aver installato zip e decomprimi applicazioni. È disponibile nei repository predefiniti della maggior parte delle distribuzioni Linux. Ad esempio, per installare unzip su sistemi basati su Debian, esegui semplicemente:
$ sudo apt-get install zip unzip
Quindi, installa SDKMAN usando il comando:
$ curl -s "https://get.sdkman.io" | bash
È così semplice. Questo comando installerà SDKMAN in $HOME/.sdkman posizione.
Risultato di esempio:
-+syyyyyyys:`/yho:` -yd. `/yh/` +m. .Oh o. 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+` `NMM `do .yy- :N` ```mMMM. - -Ehi. /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. .MMM..---yh +MMM. sNo`.sNMM+ :MMMM/ sh`+MMMNmNm+++- mMMM- /--ohmMMM+ :MMMMm. `hyymmmmdddo MMMMh. ```` `-+yy/`yMMM/ :MMMMMy -sm:.``..-:-.` dMMMMmo-.``````..-:/osyhddddho. `+shdh+. hMMM::MmMMMM/ ./yy/` `:sys+/+sh/ .dMMMMMMmddddddmmNMMMNNNNNNMMMMMMs sNdo- dMMM- `-/yd/MMMMm-:sy+. :hs- /N` `/ymNNNNNNNNmmdys+/::----/dMMm:+m- mMMM+ohmo/.` sMMMMdo- .om:`sh `.-----+/.` ` `.-+ hh/` `od. NMMNmds/ `mmy:` +mMy `:yy. /moyso+//+osso:. .yy` `dy+:` .. :MMMN+---/oys:/+m:`.-:::-` /d+ +MMMMMMMNh:` +MN/ -yh. `+HDD+. /MM+ .sh::NMo -sh/ -NMs `/yy:.NMy `:sh+. `mMm` ./yds- `dMMMmyo:-.````.-:oymNy:` +NMMMMMMMMMMMMMMMMMMms:` -+shmNMMMNmdy+:` Sto tentando l'installazione... Cerco un'installazione precedente di SDKMAN... Cerco decompressione ...Cercando zip...Cercando curl...Cercando sed...Installazione degli script SDKMAN...Crea directory di distribuzione...Ottenere candidati disponibili...Adescare il file di configurazione...Scaricare l'archivio degli script. ..############################################################# ############################# 100.0%Estrai archivio script...Installa script...Imposta versione 5.8.3+506 ...Tentativo di aggiornamento del profilo bash interattivo su UNIX normale... Aggiunto snippet init sdkman a /home/otechnix/.bashrc Tentativo di aggiornamento del profilo zsh... Aggiornato esistente /home/otechnix/.zshrcTutto fatto! Apri un nuovo terminale o esegui quanto segue in quello esistente:source "/home/otechnix/.sdkman/bin/sdkman-init.sh" Quindi impartisci il seguente comando:sdk helpEnjoy!!!
Una volta completata l'installazione, eseguire il comando seguente per inizializzare SDKMAN:
$ sorgente "$HOME/.sdkman/bin/sdkman-init.sh"
Se desideri installarlo in una posizione personalizzata a tua scelta diversa da $HOME/.sdkman , ad esempio /usr/local/ , fai:
$ export SDKMAN_DIR="/usr/local/sdkman" &&curl -s "https://get.sdkman.io" | bash
Assicurati che il tuo utente disponga dei diritti di accesso completi su questa cartella.
Infine, controlla se l'installazione è riuscita usando il comando:
versione $ sdk
Risultato di esempio:
====BROADCAST ======================================================================================================* 27-06-2020:sbt 1.3.13 rilasciato su SDKMAN! #scala* 26-06-2020:Micronaut 2.0.0 rilasciato su SDKMAN! #micronautfw* 22-06-2020:Micronaut 2.0.0.RC2 rilasciato su SDKMAN! #micronautfw=======================================================================================================SDKMAN 5.8.3+506
Congratulazioni! SDKMAN è stato installato. Andiamo avanti e vediamo come installare e gestire gli SDK.
Gestire più kit di sviluppo software utilizzando SDKMAN
Elenca tutti i kit di sviluppo software (SDK) disponibili
Per visualizzare l'elenco di tutti i candidati disponibili (SDK), eseguire:
Lista $ sdk
Risultato di esempio:
=============================================================================================q-quit /-search downj-down ?-search upk-up h- aiuto------------------------------------------------- -----------------Ant (1.10.1) https://ant.apache.org/Apache Ant is una libreria Java e uno strumento a riga di comando la cui missione è guidare i processi descritti nei file di build come obiettivi e punti di estensione dipendenti l'uno dall'altro. Il principale utilizzo noto di Ant è la creazione di applicazioni Java. Ant fornisce una serie di attività integrate che consentono di compilare, assemblare, testare ed eseguire applicazioni Java. Ant può anche essere utilizzato efficacemente per creare applicazioni non Java, ad esempio applicazioni C o C++. Più in generale, Ant può essere utilizzato per pilotare qualsiasi tipo di processo che possa essere descritto in termini di obiettivi e compiti. $ sdk install ant---------------------------------------------- ----------------------------------AsciidoctorJ (2.3.1) http://asciidoctor.org/AsciidoctorJ è la libreria ufficiale per l'esecuzione di Asciidoctor sulla JVM. Utilizzando AsciidoctorJ, puoi convertire il contenuto AsciiDoc o analizzare la struttura del documento AsciiDoc analizzato da Java e altri linguaggi JVM.:
Come puoi vedere, SDKMAN elenca un candidato alla volta insieme alla descrizione del candidato, al sito Web ufficiale e al comando di installazione. Premere il tasto INVIO per elencare i prossimi candidati. Per chiuderlo, premi q .
Installa un nuovo SDK
Per installare un SDK, ad esempio Java JDK, eseguire:
$ sdk installa java
Risultato di esempio:
Download:java 11.0.7.hs-adptIn progress...######################################## ################################################################ ################################################################ #################################### 100,0%###################### ################################################################ ################################################################ ############################################################################################################ 100,0%Riconfezionamento di Java 11.0 .7.hs-adpt...Repackaging terminato...Installazione:java 11.0.7.hs-adptInstallazione completata!Impostazione di java 11.0.7.hs-adpt come predefinita.
Abbiamo appena installato Java. Controlliamo la sua versione:
$ java --versione 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, modalità mista)
Se sono già presenti più SDK, ti verrà chiesto se desideri che la versione attualmente installata sia impostata come predefinita . Rispondendo Sì imposterà la versione attualmente installata come predefinita.
Installa una versione specifica dell'SDK
Per installare una versione particolare di un SDK, procedere come segue:
$ sdk install ant 1.10.1
Il comando precedente installerà Ant versione 1.10.1.
Se hai già un'installazione locale di un candidato specifico, puoi impostarla come versione locale come di seguito.
$ sdk install groovy 3.0.0-SNAPSHOT /path/to/groovy-3.0.0-SNAPSHOT
Elenca le versioni candidate
Per elencare una particolare versione dei candidati:
$ sdk list ant
Risultato di esempio:
=============================================================================================Versioni Ant disponibili======================================================================================================================================================================> * 1.10.1 1.10.0 1.9.9 1.9.8 1.9.7 ======================================================================================================================================================+ - versione locale* - installato> - attualmente in uso=======================================================================================================================================
Come puoi vedere nell'output sopra, la formica 1.10.1 è preceduta da ">" e "*". Qui,> indica che questa versione è attualmente in uso e * indica che è la versione predefinita.
Imposta l'SDK predefinito
Come ho già detto, se hai installato più versioni, SDKMAN ti chiederà se desideri che la versione attualmente installata sia impostata come predefinita . Puoi rispondere Sì per impostarlo come predefinito. Inoltre, puoi farlo in seguito usando il seguente comando:
$ sdk default ant 1.9.9
Il comando precedente imposterà Apache Ant versione 1.9.9 come predefinita.
Utilizza SDK specifico per la shell corrente
Puoi scegliere una particolare versione candidata da utilizzare nella shell corrente.
$ sdk usa ant 1.9.9
Tieni presente che ciò renderà la versione indicata da utilizzare solo nella sessione corrente. Per renderlo permanente, usa il comando "predefinito" come mostrato sopra.
Visualizza le versioni attualmente in uso
Per verificare cosa è attualmente in uso per un Candidato, ad esempio Java, esegui:
$ sdk java corrente Utilizzo di java versione 8.0.172-zulu
Per verificare cosa è attualmente in uso per tutti i Candidati, ad esempio Java, esegui:
$ sdk corrente Usando:ant:1.10.1java:8.0.172-zulu
Migliora i candidati
Per aggiornare un candidato obsoleto, fai:
$ sdk upgrade scala
Puoi anche controllare ciò che è obsoleto anche per tutti i candidati.
Aggiornamento $ sdk
Modalità offline
SDKMAN ha la funzione della modalità offline che consente all'SDKMAN di funzionare quando si lavora offline. Puoi abilitare o disabilitare la modalità offline in qualsiasi momento utilizzando i seguenti comandi:
Abilitazione offline $ sdk
Disattiva $ sdk offline
Rimozione degli SDK installati
Per rimuovere un SDK installato, esegui:
$ sdk disinstalla ant 1.9.9
Ricevere aiuto
Per visualizzare la sezione della guida, esegui:
Aiuto $ sdk Utilizzo:sdk[candidato] [versione]sdk offline comandi:installa o i [versione]disinstalla o rm elenco o ls [candidato]usa o u [versione]predefinito o d [versione]corrente o c [candidato]upgrade o ug [candidate]versione o vbroadcast o bhelp o hoffline [abilita|disabilita]selfupdate [force]updateflush candidate :l'SDK da installare:groovy, scala, grails, gradle, kotlin, ecc. usa il comando list per un elenco completo dei candidati ad es. pre> Aggiorna SDKMAN
Il comando seguente installa una nuova versione di SDKMAN, se disponibile.
aggiornamento automatico di $ sdkSDKMAN controllerà inoltre periodicamente la presenza di eventuali aggiornamenti e ti informerà con le istruzioni su come eseguire l'aggiornamento.
ATTENZIONE:SDKMAN non è aggiornato e richiede un aggiornamento.$ sdk updateAggiunta di nuovi candidati:scalaRimuovi cache
Si consiglia di pulire di tanto in tanto la cache che contiene i binari dell'SDK scaricati. Per farlo, esegui semplicemente:
$ sdk svuota gli archiviÈ anche utile pulire la cartella temporanea per risparmiare spazio:
$ sdk flush tempDisinstalla SDKMAN
Se non hai bisogno di SDKMAN o non ti piace, rimuovilo come mostrato di seguito.
$ tar zcvf ~/sdkman-backup_$(data +%F-%kh%M).tar.gz -C ~/ .sdkman$ rm -rf ~/.sdkmanInfine, apri il tuo .bashrc (o .bash_profile o .profile ) file:
$ nano ~/.bashrcTrova e rimuovi le seguenti righe.
#QUESTO DEVE ESSERE ALLA FINE DEL FILE PER FUNZIONARE SDKMAN!!!export SDKMAN_DIR="/home/otechnix/.sdkman"[[ -s "/home/otechnix/.sdkman/bin/sdkman-init .sh" ]] &&source "/home/otechnix/.sdkman/bin/sdkman-init.sh"
Se utilizzi ZSH, rimuovi le righe precedenti da .zshrc file.
Lettura correlata:
- Come gestire più versioni Java con jEnv su Linux
- Come gestire più versioni di Python con Pyenv su Linux