【问题标题】:Cannot execute gradle from the command line even though it's on my path即使它在我的路径上,也无法从命令行执行 gradle
【发布时间】:2015-02-08 00:36:45
【问题描述】:

我在 ./bash_profile 中有以下内容

export SRCROOT=/users/benjamin.beasley/work/svn/ccdev
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk_dev/Contents/Home
export PATH=$PATH$:~/tools/tools-versions/gradle-2.2.1/bin
export PATH=$PATH$:~/tools/activator

在 ~/tools/tools-versions/gradle-1.12/bin 中,我这样做了

drwxr-xr-x@  4 xxx.xxx  WORKDAYINTERNAL\Domain Users   136 Nov 12 11:47 .
drwxr-xr-x@ 13 xxx.xxx  WORKDAYINTERNAL\Domain Users   442 Apr 29  2014 ..
-rwxr-xr-x@  1 xxx.xxx  WORKDAYINTERNAL\Domain Users  5071 Apr 29  2014 gradle
-rwxr-xr-x@  1 xxx.xxx  WORKDAYINTERNAL\Domain Users  2395 Apr 29  2014 gradle.bat

回显 $PATH$:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin$:/Users/xxx.xxx/tools/tools-versions/gradle-2.2.1/bin$:/Users/xxx.xxx/tools/activator90566

所以我得到了可执行的 gradle 可执行文件。我可以从这个目录执行它。但是如果我启动一个新的 shell,然后输入“gradle”,它会说找不到命令。但我“回显 $PATH$”,我看到 ~/tools/tools-versions/gradle-2.2.1/bin 文件夹的完整规范路径在那里。

但是我可以执行 activator,它是 ~/tools/activator 目录中的可执行文件。我不知道为什么 bash 知道 activator 而不是 gradle。

总结:

  1. gradle 可由该用户执行
  2. gradle 可以从命令行运行。
  3. gradle 在 $PATH$ 环境变量中
  4. 其他程序(例如 activator)也在 $Path$ 中,可以在终端的任何位置执行,而不管我希望 gradle 是什么目录。

【问题讨论】:

  • Unix 环境变量是 $PATH 而不是 $PATH$(它们不像 Windows 环境变量)。
  • 也不要使用~使用$HOME
  • 评论都没有帮助。还有更多想法吗? :)
  • 如果您删除了所有最终的$ 并干净地设置路径,则应该有第一条评论。看我的回答。

标签: bash path gradle environment-variables .bash-profile


【解决方案1】:

Unix 环境变量是 $PATH 而不是 $PATH$(它们不像 Windows 环境变量)。

这是导致您的问题的原因。

这条路径被破坏了:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin$:/Users/xxx.xxx/tools/tools-versions/gradle-2.2.1/bin$:/Users/xxx.xxx/tools/activator90566

注意到末尾的90566了吗?那是从 $$ 在您设置变量时扩展为当前进程 ID。

这些都不是实际存在或有效的路径:

/opt/X11/bin$
/Users/xxx.xxx/tools/tools-versions/gradle-2.2.1/bin$
/Users/xxx.xxx/tools/activator90566

【讨论】:

    猜你喜欢
    • 2022-12-06
    • 1970-01-01
    • 2019-03-12
    • 2019-10-20
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多