windows - bash:在 MobaXterm 中运行 gradle 时找不到小程序

标签 windows bash gradle cygwin

我目前正在评估 MobaXterm作为我当前在 Windows7 机器上安装的普通 Cygwin 的替代品。我遇到的一件事是运行“gradle”。执行时我总是得到

bash: applet not found

其他人在移动设备和路由器上的命令也有类似的问题,例如:

不知道这是如何组合在一起的,但大多数解决方案都是指更改符号链接(symbolic link)或复制底层 shell 的可执行文件。有人知道 gradle 对 fork worker/deamons 和类似东西的环境依赖性,甚至有关于 mobaXterm cygwin 环境和普通 cygwin 环境之间差异的详细信息吗? Cygwin 和 MobaXterm 在我的机器上使用相同的 .bash_profile。

感谢输入! 干杯

最佳答案

经过MobaXterm客服的热心回复,我找到了解决办法。问题是由于 MobaXterm 的大部分核心命令(ls、cat、kill 等)都是基于 busybox 构建的,它返回提到的错误语句“bash:applet not found”。 (可以使用命令 'busybox bash' 重现)。

根据 gradle 源代码,gradle unixStartScript.txt 具有以下脚本序言:

#!/usr/bin/env bash

我发现在 MobaXterm 中,env 命令由指向 busybox.exe 的符号链接(symbolic link)表示。这似乎在 gradle 启动脚本的实际 bash 命令之前得到遵循/解决。这导致

#!/usr/bin/busybox.exe bash

执行环境准备。

长话短说:要解决此问题,请将/bin/env.exe 设为/bin/busybox.exe 的硬链接(hard link),或者只需复制/bin/busybox.exe 并将其重命名为 Windows 中的 env.exe Explorer 让 gradle 最终在 MobaXTerm 中运行!

干杯 本

关于windows - bash:在 MobaXterm 中运行 gradle 时找不到小程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27223994/

相关文章:

c++ - 管理进程如何在登录用户中打开应用程序?

windows - 应该如何在 Windows 上使用开源库?

c++ - SMBIOS 枚举值。文档错误?

python - subprocess.Popen ("echo $HOME"... 和 subprocess.Popen( ["echo", "$HOME"] 有什么区别

java - 如何使用 Gradle 和 Spring Boot 捕获构建信息

java - Java 中的 "last accessed"与 "last modified"文件日期(Windows)

linux - Bash 循环脚本运行良好,但在使用源代码运行时会出现语法错误

Python 脚本未从 Cron 执行

java - 如何将另一个项目中的应用程序用作库?

spring - 将 SpringSource 导入 IDEA。但出现错误 "Unrecognized VM option ' MaxMetaspaceSize=1024m'"