我目前正在评估MobaXterm作为我的Windows7机器上当前普通Cygwin安装的替代品。 我被卡住的一件事是运行“gradle”。 执行时,我总是得到
bash: applet not found
其他人在移动设备和路由器上遇到类似的问题,例如:
不知道这是如何融合在一起的,但大多数时候解决scheme都是指改变符号链接或者复制底层shell的可执行文件。 是否有人知道gradle的环境依赖关系是为了分配工人还是类似的东西?甚至有关于mobaXterm cygwin环境和纯cygwin环境之间差异的细节? Cygwin和MobaXterm在我的机器上使用相同的.bash_profile。
Thxinput! 干杯
经过MobaXterm客户服务的善意响应,我找到了一个解决方案。 这个问题是由于MobaXterm的核心命令(ls,cat,kill等等)的大部分都是在busybox的基础上构建的,它正在返回错误语句“bash:applet not found”。 (可以使用“busybox bash”命令进行转换)。
根据gradle源码,gradle unixStartScript.txt具有以下脚本序言:
#!/usr/bin/env bash
我发现在MobaXterm中,env命令是由sym-link表示的,正好是busybox.exe。 这似乎跟在gradle启动脚本的实际bash命令之前/解决。 什么导致
#!/usr/bin/busybox.exe bash
为环境准备而执行。
长话短说: 要解决此问题,请将/bin/env.exe硬链接到/bin/busybox.exe,或者简单地复制/bin/busybox.exe并将其重命名为Windows资源管理器中的env.exe,以使gradle最终运行在MobaXTerm!
干杯本