Êtes-vous un développeur qui teste souvent des applications sur différents SDK ? J'ai une bonne nouvelle pour vous ! SDKMAN est un outil CLI qui vous aide à gérer facilement plusieurs kits de développement logiciel sous Linux. Il offre un moyen pratique d'installer, de changer, de répertorier et de supprimer des candidats. En utilisant SDKMAN, nous pouvons facilement gérer des versions parallèles de plusieurs SDK. Il permet aux développeurs d'installer des kits de développement de logiciels pour la JVM tels que Java, Groovy, Scala, Kotlin et Ceylon. Ant, Gradle, Grails, Maven, SBT, Spark, Spring Boot, Vert.x et bien d'autres sont également pris en charge. SDKMAN est un utilitaire gratuit, léger et open source écrit en Bash .
Installer SDKMAN sur Linux
L'installation de SDKMAN est triviale. Tout d'abord, assurez-vous d'avoir installé zip et décompressez applications. Il est disponible dans les dépôts par défaut de la plupart des distributions Linux. Par exemple, pour installer unzip sur des systèmes basés sur Debian, exécutez simplement :
$ sudo apt-get install zip unzip
Ensuite, installez SDKMAN à l'aide de la commande :
$ curl -s "https://get.sdkman.io" | bas
C'est si simple. Cette commande installera SDKMAN dans $HOME/.sdkman emplacement.
Exemple de résultat :
-+syyyyyyys :`/yho:` -yd. `/yh/` +m. .oho. hy .` .sh/` :N` `-/o` `+dyyo:. .yh:` `M- `-/osysoym :hs` `-+sys:hhysssssssy+ .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+- `aa` sMMN` :N. :mN/ `N/ `o/-` :MMMo +MMMN- .` `ds mMMh do /NN/ `N+....--:/+oooosooo+:sMMM:hMMMM:`mon .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. `hyymmmjjdo MMMMh. ```` `-+aa/`aMMM/ :MMMMMon -sm:.``..-:-.` dMMMMmo-.``````..-:/osyhddddho. `+shdh+. hMMM ::MmMMMM/ ./yy/` `:sys+/+sh/ .dMMMMMMmdddddmmNMMMNNNNNMMMMMs sNdo- dMMM- `-/yd/MMMMm-:sy+. :hs- /N` `/ymNNNNNNNNmmdys+/::----/dMMm:+m- mMMM+ohmo/.` sMMMMdo- .om:`sh `.-----+/.` `.-+ hh/` `od. NMMNmds/ `mmy:` +mMy `:yy. /moyso+//+ossso :. .yy` `dy+:` .. :MMMN+---/oys:/+m:`.-:::-` /d+ +MMMMMMMNh:` +MN/ -yh. `+hddhy+. /MM+ .sh ::NMo -sh/ -NMs `/yy :.NMy `:sh+. `mMm` ./yds- `dMMMmyo:-.````.-:oymNy:` +NMMMMMMMMMMMMMMMMms:` -+shmNMMMNmdy+:` Tentative d'installation en cours... Recherche d'une installation précédente de SDKMAN... Recherche de décompression ...Recherche de zip...Recherche de curl...Recherche de sed...Installation de scripts SDKMAN...Créer des répertoires de distribution...Obtenir des candidats disponibles...Amorcer le fichier de configuration...Télécharger l'archive de script. ..############################################### ######################## 100,0 %Extraire l'archive du script...Installer les scripts...Définir la version sur 5.8.3+506...Essayer la mise à jour du profil bash interactif sur UNIX standard...Ajout d'un extrait sdkman init à /home/ostechnix/.bashrcAttempt de mise à jour du profil zsh...Mise à jour /home/ostechnix/.zshrc existantTout est fait ! Veuillez ouvrir un nouveau terminal ou exécuter ce qui suit dans celui existant :source "/home/ostechnix/.sdkman/bin/sdkman-init.sh" Lancez ensuite la commande suivante :sdk helpEnjoy!!!
Une fois l'installation terminée, exécutez la commande suivante pour initialiser SDKMAN :
$source "$HOME/.sdkman/bin/sdkman-init.sh"
Si vous souhaitez l'installer dans un emplacement personnalisé de votre choix autre que $HOME/.sdkman , par exemple /usr/local/ , faites :
$ export SDKMAN_DIR="/usr/local/sdkman" &&curl -s "https://get.sdkman.io" | bas
Assurez-vous que votre utilisateur dispose des droits d'accès complets sur ce dossier.
Enfin, vérifiez si l'installation a réussi à l'aide de la commande :
Version du kit de développement $
Exemple de résultat :
====DIFFUSION ================================================================* 2020-06-27 :sbt 1.3.13 publié sur SDKMAN ! #scala* 2020-06-26 :Micronaut 2.0.0 est sorti sur SDKMAN ! #micronautfw* 2020-06-22 :Micronaut 2.0.0.RC2 disponible sur SDKMAN ! #micronautfw==============================================================================SDKMAN 5.8.3+506
Toutes nos félicitations! SDKMAN a été installé. Voyons comment installer et gérer les SDK.
Gérer plusieurs kits de développement logiciel à l'aide de SDKMAN
Répertorier tous les kits de développement logiciel (SDK) disponibles
Pour afficher la liste de tous les candidats disponibles (SDK), exécutez :
Liste $ SDK
Exemple de résultat :
===============================================================================q-quit /-search downj-down ?-search upk-up h- aider------------------------------------------------- -------------------------------Fourmi (1.10.1) https://ant.apache.org/Apache Fourmi est une bibliothèque Java et un outil de ligne de commande dont la mission est de piloter les processus décrits dans les fichiers de construction en tant que cibles et points d'extension dépendant les uns des autres. La principale utilisation connue d'Ant est la construction d'applications Java. Ant fournit un certain nombre de tâches intégrées permettant de compiler, d'assembler, de tester et d'exécuter des applications Java. Ant peut également être utilisé efficacement pour créer des applications non Java, par exemple des applications C ou C++. Plus généralement, Ant permet de piloter tout type de processus pouvant être décrit en termes d'objectifs et de tâches. $ fourmi d'installation sdk---------------------------------------------- ----------------------------------AsciidoctorJ (2.3.1) http://asciidoctor.org/AsciidoctorJ est la bibliothèque officielle pour exécuter Asciidoctor sur la JVM. À l'aide d'AsciidoctorJ, vous pouvez convertir le contenu AsciiDoc ou analyser la structure d'un document AsciiDoc analysé à partir de Java et d'autres langages JVM :
Comme vous pouvez le voir, SDKMAN liste un candidat à la fois avec la description du candidat, le site officiel et la commande d'installation. Appuyez sur la touche ENTER pour lister les candidats suivants. Pour le fermer, appuyez sur q .
Installer un nouveau SDK
Pour installer un SDK, par exemple Java JDK, exécutez :
$ sdk installer java
Exemple de résultat :
Téléchargement :java 11.0.7.hs-adptEn cours...################################# ################################################# ################################################# ############################## 100,0 %################## ################################################# ################################################# ############################################# 100,0 % Reconditionnement Java 11.0 .7.hs-adpt...Reconditionnement terminé...Installation :java 11.0.7.hs-adptInstallation terminée !Définition de java 11.0.7.hs-adpt par défaut.
Nous venons d'installer Java. Vérifions sa version :
$ java --version openjdk 11.0.7 2020-04-14Environnement d'exécution OpenJDK AdoptOpenJDK (build 11.0.7+10)OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.7+10, mode mixte)
Si plusieurs SDK sont déjà présents, il vous demandera si vous souhaitez que la version actuellement installée soit définie comme par défaut . Répondre Oui définira la version actuellement installée par défaut.
Installer une version spécifique du SDK
Pour installer une version particulière d'un SDK, procédez comme suit :
$ sdk installer fourmi 1.10.1
La commande ci-dessus installera Ant version 1.10.1.
Si vous avez déjà une installation locale d'un candidat spécifique, vous pouvez le définir comme version locale comme ci-dessous.
$ sdk install groovy 3.0.0-SNAPSHOT /path/to/groovy-3.0.0-SNAPSHOT
Liste des versions candidates
Pour répertorier les versions d'un candidat particulier :
$ liste sdk fourmi
Exemple de résultat :
==============================================================================Versions Ant disponibles===============================================================================> * 1.10.1 1.10.0 1.9.9 1.9.8 1.9.7 ==============================================================================+ - version locale* - installée> - actuellement utilisé====================================================================================
Comme vous le voyez dans la sortie ci-dessus, la fourmi 1.10.1 est préfixée par ">" et "*". Ici,> indique que cette version est actuellement utilisée et le * indique qu'il s'agit de la version par défaut.
Définir le SDK par défaut
Comme je l'ai déjà dit, si vous avez installé plusieurs versions, SDKMAN vous demandera si vous souhaitez que la version actuellement installée soit définie comme par défaut . Vous pouvez répondre Oui pour le définir par défaut. Vous pouvez également le faire plus tard en utilisant la commande suivante :
$ sdk par défaut ant 1.9.9
La commande ci-dessus définira Apache Ant version 1.9.9 par défaut.
Utiliser un SDK spécifique pour le shell actuel
Vous pouvez choisir une version candidate particulière à utiliser dans le shell actuel.
$ sdk utilise ant 1.9.9
Veuillez noter que cela rendra la version donnée à utiliser uniquement dans la session en cours. Pour le rendre permanent, utilisez la commande "default" comme indiqué ci-dessus.
Afficher les versions actuellement utilisées
Pour vérifier ce qui est actuellement utilisé pour un candidat, par exemple Java, exécutez :
$ sdk java actuel Utilisation de Java version 8.0.172-zulu
Pour vérifier ce qui est actuellement utilisé pour tous les candidats, par exemple Java, exécutez :
$ SDK actuel Utilisation :ant :1.10.1java :8.0.172-zulu
Améliorer les candidats
Pour surclasser un candidat obsolète, procédez comme suit :
Mise à l'échelle de la mise à niveau du SDK $
Vous pouvez également vérifier ce qui est obsolète pour tous les candidats.
Mise à niveau du SDK $
Mode hors ligne
SDKMAN dispose d'une fonctionnalité de mode hors ligne qui permet au SDKMAN de fonctionner lorsque vous travaillez hors ligne. Vous pouvez activer ou désactiver le mode hors ligne à tout moment en utilisant les commandes suivantes :
Activation hors connexion de $ sdk
$ sdk hors ligne désactivé
Suppression des SDK installés
Pour supprimer un SDK installé, exécutez :
$ sdk uninstall ant 1.9.9
Obtenir de l'aide
Pour afficher la section d'aide, exécutez :
Aide du SDK $ Utilisation :sdk[candidate] [version]sdk offline commands:install ou i [version]uninstall ou rm list ou ls [candidate]use ou u [version]default ou d [version]current ou c [candidate]upgrade ou ug [candidate]version ou vbroadcast ou bhelp ou hoffline [enable|disable]selfupdate [force]updateflush candidate :le SDK à installer :groovy, scala, grails, gradle, kotlin, etc. utilisez la commande list pour une liste complète des candidats, par exemple :$ sdk listversion :lorsqu'il est facultatif, la version par défaut est la dernière version stable si elle n'est pas fournie, par exemple :$ sdk install groovy Mettre à jour SDKMAN
La commande suivante installe une nouvelle version de SDKMAN si disponible.
$ sdk auto-mise à jourSDKMAN vérifiera également périodiquement les mises à jour et vous indiquera comment procéder à la mise à jour.
ATTENTION :SDKMAN est obsolète et nécessite une mise à jour.$ sdk updateAjout de nouveaux candidats :scalaSupprimer le cache
Il est recommandé de nettoyer de temps en temps le cache contenant les fichiers binaires SDK téléchargés. Pour ce faire, lancez simplement :
archives de vidage $ sdkIl est également bon de nettoyer le dossier temporaire pour économiser de l'espace :
$ sdk flush tempDésinstaller SDKMAN
Si vous n'avez pas besoin de SDKMAN ou si vous ne l'aimez pas, supprimez-le comme indiqué ci-dessous.
$ tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman$ rm -rf ~/.sdkmanEnfin, ouvrez votre .bashrc (ou .bash_profile ou .profile ) fichier :
$ nano ~/.bashrcRecherchez et supprimez les lignes suivantes.
#THIS DOIT ÊTRE À LA FIN DU FICHIER POUR QUE SDKMAN FONCTIONNE!!!export SDKMAN_DIR="/home/ostechnix/.sdkman"[[ -s "/home/ostechnix/.sdkman/bin/sdkman-init .sh" ]] &&source "/home/ostechnix/.sdkman/bin/sdkman-init.sh"
Si vous utilisez ZSH, supprimez les lignes ci-dessus du .zshrc fichier.
Lire connexe :
- Comment gérer plusieurs versions de Java avec jEnv sous Linux
- Comment gérer plusieurs versions de Python avec Pyenv sous Linux