TL;DR
Lorsque vous utilisez Git Bash (MINGW64) ou MSYS2 fourni avec Git for Windows, utilisez SDKMAN! En ajoutant ce qui suit à .bashrc
etc. Sera possible.
.bashrc
export MSYS=winsymlinks:lnk
L'installation elle-même est la suivante, elle est donc omise.
https://sdkman.io/install
JDK et divers fournisseurs et communautés sont en train de le construire et de le fournir, je voudrais donc faciliter le changement. (Penses-tu?)
Si vous souhaitez faire ce qui précède, vous aurez besoin d'un outil pour gérer la version, tel que JDK. Dans le système JVM, il existe un outil appelé SDKMAN!, Alors utilisez-le.
Veuillez vous référer à ce qui suit pour le SDK qui peut être installé à l'aide de SDKMAN! (Indiqué parce qu'il est écrit. Divers éléments tels que les langages, les outils, les frameworks d'application, etc. peuvent être installés).
En regardant ce qui suit, il semble qu'il puisse être utilisé normalement avec Git Bash, mais bien que je puisse télécharger le JDK, j'obtiens une erreur lorsque j'essaye de le définir par défaut.
https://sdkman.io/install
$ sdk default java 8.0.202.hs-adpt
SDKMAN: No update needed. Using existing candidates cache: ant,asciidoctorj,bpipe,ceylon,crash,cuba,cxf,gaiden,glide,gradle,grails,groovy,groovyserv,infrastructor,java,jbake,kotlin,kscript,lazybones,leiningen,maven,micronaut,sbt,scala,spark,springboot,sshoogr,vertx,visualvm
Not refreshing version cache now...
Validate java 8.0.202.hs-adpt for MINGW64_NT-10.0: valid
Validation URL: https://api.sdkman.io/2/candidates/validate/java/8.0.202.hs-adpt/mingw64_nt-10.0
rm: cannot remove '/c/Users/tenten0213/.sdkman/candidates/java/current': Is a directory
ln: failed to create symbolic link '/c/Users/tenten0213/.sdkman/candidates/java/current/8.0.202.hs-adpt': File exists
↑ active le mode de débogage. (Définissez sdkman_debug_mode
dans ~ / .sdkman / etc / config
sur true
)
En regardant le code, il semble qu'il y ait une erreur dans le rm -f
suivant.
https://github.com/sdkman/sdkman-cli/blob/b63ee15c8885b89ea09dee4f965fbd48167398d1/src/main/bash/sdkman-path-helpers.sh#L85
La raison de l'erreur est que si vous ne le définissez pas au début, ln -s
ne créera pas de lien symbolique mais créera une copie. Puisqu'il s'agit d'un répertoire au lieu d'un lien symbolique, rm -f
entraînera une erreur.
Ainsi, en revenant au début et en définissant MSYS = winsymlinks: lnk
, un lien symbolique (raccourci Windows) est créé à la place d'une copie, et il peut être utilisé en toute sécurité.
Recommended Posts