【问题标题】:GVM Error Setting Default Groovy VersionGVM 错误设置默认 Groovy 版本
【发布时间】:2016-04-21 21:49:41
【问题描述】:

我用 GVM 安装了 groovy:

gvm install groovy

但是当我将 2.4.6 设置为默认版本时,我收到此错误:

rm: `/c/Users/<user_name>/.sdkman/candidates/groovy/current' is a directory
ln: `/c/Users/<user_name>/.sdkman/candidates/groovy/current': cannot overwrite direc
tory

不知道为什么它试图 rm 当前文件夹,然后创建一个符号链接到它。任何想法我做错了什么?

【问题讨论】:

  • 您使用的是哪个操作系统?
  • @EmmanuelRosa Windows
  • 我是这么认为的。 GVM/SDK Man 适用于 *NIX 操作系统。它不适用于 Windows。您可以改用 Posh-GVM。或者,如果您喜欢冒险并想继续使用 cygwin,请在 Windows *.com/questions/3648819/… 上查看此重新定义符号链接

标签: groovy gvm sdkman


【解决方案1】:

current 应该是指向当前版本目录的符号链接,而不是目录本身

由于某种原因,它目前是一个目录

尝试将current移开,然后重试

PS:gvm 现在被称为 sdkman,命令是 sdk 而不是 gvm 尽管 gvm 目前仍然适用于历史兼容性

【讨论】:

    【解决方案2】:

    从名称看来,您使用的是“MinGW”外壳。 sdkman 无法处理此环境中的软链接。

    删除current 目录并复制您要使用的版本。这不是一个时髦的问题。影响 sdkman 下所有可用的工具(如lazybone、grails..)

    【讨论】: