使用 SDKMAN 安装说明运行 Groovy 还需要执行哪些步骤?

使用 SDKMAN 安装说明运行 Groovy 还需要执行哪些步骤?

今天我在 Linx Mint 17.2 安装上安装了 Groovy。 SDK(或 GVM,SDKMAN)说明看起来很清楚。

SDKMAN网站:

根据安装页面...

  1. $curl -s get.gvmtool.net | bash
  2. $source "$HOME/.gvm/bin/gvm-init.sh"
  3. $gvm install groovy # install the latest stable Groovy

安装完成并将其设为默认版本后,请使用以下命令进行测试:

  1. $groovy -version

结果完全出乎意料。

The program 'groovy' is currently not installed. You can install it by typing:
sudo apt-get install groovy

我执行了其他合理的步骤,例如......

  • $ sdk use groovy 2.4.5
    • 它说它有效
  • $ sdk current

    No candidates are in use

尝试 groovy,同样的结果:

  • $groovy -version

    当前未安装程序“groovy”。您可以通过键入以下命令来安装它: sudo apt-get install groovy

当我查看时,在.sdkman候选人文件夹中,确实有一份 Groovy 2.4.5 的副本。安装脚本中的某些内容或说明中未包含的某些步骤丢失。

虽然我可以在 this 上指定一个别名groovy,但这却违背了使用 the 的目的sdk,这将是非常有用的;只要它有效。

我不喜欢手动管理语言和工具之类的东西。我认为这不起作用sdk install,而且从发行版或包管理器安装对我来说可能会更好。

答案1

感谢您就 Groovy 网站上的错误页面发出提醒。看起来我们有两页,一页正确,另一页错误:

我会尽快提出 PR 来解决这个问题。

答案2

答案很简单——Groovy-lang 上的说明不是最新的。看起来他们指的是旧版本的 SDKMAN。

开始于SDKMAN网站在下面开始使用:

  1. $curl -s http://get.sdkman.io | bash
  2. $source ~/.sdkman/bin/sdkman-init.sh
  3. $sdk install groovy

测试一下...

  1. $ groovy -version

结果:

   Groovy Version: 2.4.5 JVM: 1.8.0_66 Vendor: Oracle Corporation OS: Linux

最后一次检查,登录到新终端并重试groovy -version。它也应该有效。

source前面的说明在第二步中调用了旧版本的安装脚本,并且可能调用了旧版本的 shell 初始化脚本-d。

对于背景信息,您可能需要查看 github 上的问题解决方案。

答案3

完成初始安装后,我注意到它没有设置当前的符号链接:

.sdkman/candidates/java/:
11.0.15-tem
17.0.3-tem
current -> 11.0.15-tem

.sdkman/candidates/groovy/:
3.0.11

因此,即使您创建新的 shell,登录脚本也不会将 groovy 添加到路径中,因为您没有选择当前版本。

/home/user/.sdkman/candidates/java/current/bin:/usr/local/bin

然后我发出:

$ sdk use groovy 3.0.11
Setting groovy version 3.0.11 as default.

.sdkman/candidates/groovy/:
3.0.11
current -> 3.0.11

创建了符号链接。然后,在创建一个新会话后,我在路径上有了 groovy:

/home/user/.sdkman/candidates/groovy/current/bin:/home/user/.sdkman/candidates/java/current/bin:/usr/local/bin:...

相关内容