TL; DR
当使用Windows的Git随附的Git Bash(MINGW64)或MSYS2时,可以将SDKMAN!通过将以下内容添加到
.bashrc
1 | export MSYS=winsymlinks:lnk |
安装本身如下,因此将其省略。
https://sdkman.io/install
蛇纹石
您为什么尝试使用SDKMAN!
各种供应商和社区正在构建和提供JDK,因此我想使其易于切换。 (您认为吗?)
如果要执行上述操作,则需要一个工具来管理版本,例如JDK。
在JVM系统中有一个名为SDKMAN!的工具,因此请使用它。
- SDKMAN!软件开发工具包管理器
有关可以使用SDKMAN!安装的SDK,请参阅以下内容(指示是因为已编写。表示可以安装。可以安装各种语言,工具,应用程序框架等)。
- 可用的SDK --SDKMAN!软件开发工具包管理器
使用SDKMAN!与Git Bash
一起使用时的挑战
从下面的内容看,它似乎可以与Git Bash正常使用,但是尽管我可以下载JDK,但是当我尝试将其设置为默认值时,会发生错误。
https://sdkman.io/install
1 2 3 4 5 6 7 | $ 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 |
↑启用调试模式。 (
查看
代码,似乎在以下
https://github.com/sdkman/sdkman-cli/blob/b63ee15c8885b89ea09dee4f965fbd48167398d1/src/main/bash/sdkman-path-helpers.sh#L85
错误的原因是,如果您没有在开始时设置它,则
…因此,通过返回开头并设置
参考
- MSYS2小故事集-奇塔
- https://cygwin.com/cygwin-ug-net/using-cygwinenv.html