【问题标题】:Can IntelliJ run gradle task via bash.exe rather than Windows cmd.exe?IntelliJ 可以通过 bash.exe 而不是 Windows cmd.exe 运行 gradle 任务吗?
【发布时间】:2017-03-28 11:26:12
【问题描述】:

我使用 IntelliJ 为我的项目启动 gradle 构建任务,但似乎 IntelliJ 正在使用命令提示符(或 cmd.exe)来启动 gradle 包装器,因为在构建过程中我遇到了错误:

'cp' is not recognized as an internal or external command,
operable program or batch file.

我安装了 git bash,并且从我的 bash shell 运行 gradlew build 成功,没有任何此类错误。

有没有办法告诉 IntelliJ 使用我的 bash 可执行文件而不是默认的 Windows cmd.exe 来运行 gradle 任务?

我尝试将默认 IntelliJ 终端(文件->设置->终端)从 cmd.exe 更改为我的 bash.exe,但没有成功。

【问题讨论】:

  • 切向的,但是为什么在 gradle 任务中会有依赖于 shell 的命令呢?如果您以标准方式编写它,它应该可以在任何 shell/OS 中工作。
  • 不幸的是,它来自我依赖于另一个团队的库。我的 gradle 构建脚本是 npm install,他们有一个安装后脚本,显然是考虑到 linux/mac 编写的。但如果我能让 IntelliJ 使用我的 bash 可执行文件,那么一切都应该正常。
  • 这很奇怪,因为我想当我安装 git-bash 时,我特意选择了使 linux / bash 命令在 windows 控制台中可用的选项。

标签: windows intellij-idea git-bash gradlew


【解决方案1】:

我首先打开一个 Git Bash,然后从那里运行 IntelliJ,从而解决了这个问题。然后 IntelliJ 终端自动设置为 Bash 终端,Gradle 可以使用所有出色的 Bash 命令。

如果您希望在启动 IntelliJ 后自动关闭 Git Bash 窗口,请尝试从 PowerShell 运行此命令:

& git-bash.exe -c 'cmd //c start idea64.exe'

【讨论】:

    【解决方案2】:

    我通过将以下设置为我的默认终端来使用 Intillij 中的 Bash for Windows 终端。

    cmd.exe "/K set LINES=9999&C:\windows\system32\bash.exe"
    

    【讨论】:

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