【问题标题】:How does Groovy Environment Manager deal with Windows env varsGroovy 环境管理器如何处理 Windows 环境变量
【发布时间】:2014-04-16 19:57:46
【问题描述】:
为了让我在 Windows 上手动安装 Groovy、Grails、Gradle 等工具,我需要设置一个新的 env var(即 GROOVY_HOME),然后将该工具的 bin 目录添加到系统 Path(即%GROOVY_HOME%\bin)等
我对 GVM 的理解是它允许您在任何给定时间点在您的操作系统上拥有所有这些工具的多个版本。但是,考虑到环境变量必须存在(并且必须指向特定版本)才能运行这些工具这一事实,这怎么可能呢?
【问题讨论】:
标签:
grails
groovy
gradle
configuration-management
【解决方案1】:
GVM 使用符号链接来更改当前版本的 Groovy、Grails 等。具体来说,有一个符号链接
~/.gvm/grails/current
如果当前版本的 Grails 是 2.3.5,则此符号链接指向
~/.gvm/grails/2.3.5
如果你运行gvm use grails 2.3.6 GVM 将符号链接更改为指向
~/.gvm/grails/2.3.6
所以GRAILS_HOME env var 始终指向~/.gvm/grails/current,但是当您运行 GVM 命令时,此符号链接的目标会发生变化。
Windows 文件系统不支持符号链接,这就是 GVM 不能在 Windows 上运行的原因(尽管您可能能够在 Cygwin 下运行它)。