今天我在 Linx Mint 17.2 安装上安装了 Groovy。 SDK(或 GVM,SDKMAN)说明看起来很清楚。
SDKMAN网站:
根据安装页面...
- $
curl -s get.gvmtool.net | bash
- $
source "$HOME/.gvm/bin/gvm-init.sh"
- $
gvm install groovy # install the latest stable Groovy
安装完成并将其设为默认版本后,请使用以下命令进行测试:
- $
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网站在下面开始使用:
- $
curl -s http://get.sdkman.io | bash
- $
source ~/.sdkman/bin/sdkman-init.sh
- $
sdk install groovy
测试一下...
- $
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:...