天道酬勤,学无止境

bash:在 MobaXterm 中运行 gradle 时找不到小程序(bash: applet not found when running gradle in MobaXterm)

问题

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

bash: applet not found

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

  • http://forum.xda-developers.com/showthread.php?t=169113
  • http://comments.gmane.org/gmane.linux.busybox/35809

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

感谢输入! 干杯

回答1

经过MobaXterm客服的亲切回应,我找到了解决方案。 问题是由于 MobaXterm 的大部分核心命令(ls、cat、kill 等)都建立在 busybox 上,它返回提到的错误语句“bash: applet not found”。 (可以用命令“busybox bash”复制)。

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

#!/usr/bin/env bash

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

#!/usr/bin/busybox.exe bash

用于环境准备。

长话短说:要解决此问题,请将 /bin/env.exe 设置为 /bin/busybox.exe 的硬链接,或者简单地复制 /bin/busybox.exe 并将其重命名为 env.exe 在 Windows 资源管理器中,以使 gradle 最终运行在 MobaXTerm 中!

干杯本

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • bash: applet not found when running gradle in MobaXterm
    I am currently evaluating MobaXterm as replacement for my current plain Cygwin installation on my Windows7 machine. One thing I got stuck is running 'gradle'. When executing I always get bash: applet not found Other people had similar issues with commands on mobile devices and routers, e.g.: http://forum.xda-developers.com/showthread.php?t=169113 http://comments.gmane.org/gmane.linux.busybox/35809 Don't know how this fits together, but solutions most times referred to changing symlinks or copying around executables of the underlying shell. Does someone know the environment dependencies of
  • 编译打字稿时找不到“tsc 命令”('tsc command not found' in compiling typescript)
    问题 我想安装打字稿,所以我使用了以下命令: npm install -g typescript 并测试tsc --version ,但它只显示“未找到 tsc 命令”。 我已经按照 stackoverflow、github 和其他站点中的建议尝试了很多方法。 但它不起作用。 我怎么知道打字稿已安装以及它在哪里。 我的操作系统是 Unix,OS X El Capitan 10.11.6,节点版本是 4.4.3,npm 版本是 3.10.5 回答1 按顺序的一些提示 重启终端重启机器重新安装 nodejs + 然后运行npm install typescript -g typescript npm install typescript -g 如果它仍然不起作用,请运行npm config get prefix以查看 npm install -g 放置文件的位置(将bin附加到输出)并确保它们在路径中(节点 js 设置执行此操作。也许您忘记了勾选那个选项)。 回答2 我不得不这样做: npx tsc app.ts 回答3 你们都在搞乱全局安装和 -path 文件。 一个小错误可能会损坏您曾经编写的每个项目,并且您将花费整晚的时间尝试让console.log('hi')再次工作。 如果您在项目中运行了npm i typescript --save-dev - 尝试运行: npx tsc
  • 嵌入式 Linux 中的 busybox 显示“找不到小程序”(busybox in embedded linux shows “applet not found”)
    问题 我自己编译了busybox,放在我们的嵌入式linux中。 但我有一些问题。 问题 1:当我尝试使用某些命令(例如 gzip)时,它会打印“gzip: applet not found”。当我检查了 busybox 的 menuconfig 时,我确保我选择了“gzip”。 问题2:我以前用过vim,但是busybox只提供vi,所以我做了一个vim到vi的链接,但是当我输入vim并运行它时,它也显示“vim: applet not found”。 任何人都可以帮助我解决“未找到小程序”的问题? 非常感谢你。 PS:我对busybox的“小程序”感到困惑,它是什么? 像java中的“小程序”? 回答1 问题 1 和 2 的答案是:您必须先设置PATH变量,或者在启用FEATURE_PREFER_APPLETS编译 busybox。 您可以使用以下命令设置PATH变量: $ export PATH=/bin:/sbin:/usr/bin:/usr/sbin busybox 小程序是一个小应用程序,通常在 UNIX 通用实用程序(在 POSIX 标准中定义)中找到。 这个小程序被编译成一个可执行文件: busybox 。 回答2 [仅供参考] Shebang 的拼写错误导致我出现了同样的applet not found错误。 $ # The '!' was forgotten
  • git-upload-pack:克隆远程Git存储库时找不到命令(git-upload-pack: command not found, when cloning remote Git repo)
    问题 我一直在使用git来保持项目的两个副本同步,一个是我的本地机器,另一个是测试服务器。 当我使用ssh登录到远程开发服务器时,会发生此问题。 git clone me@me.mydevbox.com:/home/chris/myproject Initialized empty Git repository in /tmp/myproject/.git/ Password: bash: git-upload-pack: command not found fatal: The remote end hung up unexpectedly fetch-pack from 'me@me.mydevbox.com:/home/chris/myproject' failed. (文件名已更改,以保护罪名...!) 两个盒子都运行Solaris 10 AMD。 我已经做了一些挖掘工作,如果我添加了--upload-pack=$(which git-upload-pack)该命令有效,并且按照RTFM解决方案证明了$PATH包含“ git-upload-pack”路径),但这确实很烦人,加上'git push'不起作用,因为我认为没有--unpack=选项。 顺便说一句,所有git命令都可以在我的本地机器上正常运行,它是该软件的相同版本(1.5.4.2),安装在/usr/local
  • 如何在 Windows 10 Bash 上使用带有 Emacs 的 X Windows?(How to use X Windows with Emacs on Windows 10 Bash?)
    问题 我在 Windows 程序上的 Ubuntu 上使用 Bash 来将 Emacs 用于 C++。 现在,我可以使用键盘快捷键对所有内容进行编码,但是,我想用鼠标选择文本或用鼠标设置标记,而不必总是使用键盘。 为了获得 X Windows 系统,我已经执行了sudo apt-get install xserver -xorg但 emacs 仍然在终端编辑器中运行。 我不知道要使用哪些其他命令或如何让 X Windows 开始运行。 回答1 Windows bash 不支持 X 服务器。 但是,将 Windows X Server 端口(例如 MobaXTerm、XMing 或 vcXsrv)与 Windows bash 结合使用是可行的。 有些东西是开箱即用的(gvim 做到了),emacs 需要更多的努力。 这是我让它工作的方式: 安装 MobaXterm。 很可能你也可以让它与 XMing 一起工作,但我只用 MobaXterm 进行了测试。 更新:使用 vcXsrv 和 XMing(付费版本)进行测试。工作原理基本相同,我可能会坚持使用 MobaXTerm。 安装 emacs 25.1 快照。 原因:Ubuntu 14.04 附带 emacs 24.3,它不适用于 Windows bash 和 MobaXTerm X 服务器(不知道为什么,反正它太旧了。)
  • 从gradle构建Android项目时找不到参数android()方法作为参数(Could not find method android() for arguments when building Android project from gradle)
    问题 我有一个基于gradle的Android项目,其中包含4个子模块-两个库和两个应用程序。 我试图通过将一些共享代码/配置移到顶层build.gradle文件并使用subprojects {}使该代码可用于每个子模块来简化每个子模块的build.gradle文件。 文件系统结构如下所示: Root |- App1/ |- App2/ |- Lib1/ |- Lib2/ |- build.gradle |- settings.gradle 问题是,如果我将android {}部分添加到子项目中,则gradle任务将失败。 例如,这是我的顶级build.gradle文件: subprojects { project -> android { buildToolsVersion "20.0.0" } } 运行gradle返回以下内容: 出了什么问题:评估根项目“ android”时发生问题。 在根项目“ android”上找不到参数[build_7dngpra6ldok366maq0on77r7e $ _run_closure3_closure5 @ 43d95624]的方法android()。 我搜索了类似的帖子,有人建议在每个子项目中添加Apply apply plugin: 'android'行apply plugin: 'android'
  • 使用 NVM 时找不到 NPM(NPM not found when using NVM)
    问题 我已经使用 nvm 文档安装了 node/npm。 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash 然后: nvm install node 此时节点正在工作,但 npm 命令结果为: npm: command not found 我怎样才能让 npm 正常工作? 回答1 我发现这与之前版本的 npm 存在冲突,尽管使用了apt-get remove node ,但未正确apt-get remove node 。 我通过从头开始重新安装 npm 解决了这个问题: rm -R ~/.npm ~/.nvm curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash nvm install node 我在这里找到了解决方案。 回答2 我通过执行以下命令解决了这个问题: $ command -v npm 然后重新打开外壳窗口。 回答3 如果您运行 NVM-Windows,请不要忘记nvm on . (这为我解决了标题问题。) 回答4 这个问题尤其发生在 windows 中,这是因为缺少 cmd 的管理员权限。 如果您使用的是 Git bash 进入安装目录
  • grunt:从终端运行时找不到命令(grunt: command not found when running from terminal)
    问题 我是Grunt的新手。 我正在尝试在Mac OSX Lion上配置Grunt。 我按照此处的说明进行操作,然后创建了一个包含以下文件的项目文件夹。 当我尝试通过在终端中键入“ grunt”运行时, command not found 。 我还修改了sudo nano /etc/paths ,希望添加路径可以使任务运行器正常工作,但仍然无法正常工作。 有人可以帮忙吗? ---paths /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/local/bin/grunt --- files node modules Gruntfile.js package.json 回答1 我猜您是使用Brew安装Node的,因此此处的指南可能会有所帮助http://madebyhoundstooth.com/blog/install-node-with-homebrew-on-os-x/。 您需要确保npm / bin在您的路径中,因为它描述了export PATH="/usr/local/share/npm/bin:$PATH" 。 这是npm将安装已安装软件包的bin存根的位置。 纳米版本也可以按照此处的说明工作:http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x
  • ng:使用angular-cli创建新项目时找不到命令(ng: command not found while creating new project using angular-cli)
    问题 使用( npm install -g angular-cli )全局npm install -g angular-cli但是当我尝试使用ng new my-project创建ng new my-project ,抛出错误: ng:找不到命令 回答1 问题很简单, npm不了解ng 只需运行npm link @angular/cli ,它就可以无缝运行。 回答2 首先,不推荐使用angular-cli ,并已将其替换为@angular/cli 。 因此,如果您使用npm uninstall angular-cli现有的angular-cli,则请npm uninstall angular-cli ,然后使用新名称@ angular / cli重新安装该软件包,则可能会遇到一些冲突。 我在Windows 7上的故事是: 我已经安装了angular-cli并使用npm install -g @angular/cli重新npm install -g @angular/cli ,但是在对命令行工具进行了一些配置更改后,我开始遇到未找到ng命令的问题。 我花了几个小时尝试解决此问题,但以上所有问题均无法解决。 我可以使用以下步骤修复它: 安装Rapid Environment Editor,并删除节点,npm,angular-cli或@ angular / cli的所有PATH条目。
  • Docker中的Logstash-通过卷挂载时找不到配置文件(Logstash in Docker - config file not found when mounted though a volume)
    问题 编辑:这似乎是boot2docker的事情...在运行docker的ubuntu vm中工作正常。 我正在尝试在Docker容器中启动logstash,但是当我将配置文件作为卷挂载时,似乎找不到它。 有趣的是,如果我使用bash启动容器,则可以在其中看到配置文件,并运行与docker相同的命令,它可以工作。 Docker文件 FROM ubuntu:14.04 MAINTAINER cvallance RUN apt-get update RUN apt-get -yqq install openjdk-7-jre RUN apt-get -yqq install curl RUN mkdir /opt/logstash \ && cd /opt/logstash \ && curl -O https://download.elastic.co/logstash/logstash/logstash-1.4.2.tar.gz \ && tar zxvf logstash-1.4.2.tar.gz CMD ["/opt/logstash/logstash-1.4.2/bin/logstash", "agent", "--verbose", "-f", "/etc/logstash/sample.conf"] 配置文件位于$(pwd)/config/sample.conf
  • 当我尝试在 .bashrc 中添加命令时找不到命令消息(command not found message when I try to add command in .bashrc)
    问题 我问了一个关于如何在 bash shell 中编写漂亮优雅的 linux 命令的问题 当我尝试该建议时,收到以下错误消息。 Sorry, command-not-found has crashed! Please file a bug report at: https://bugs.launchpad.net/command-not-found/+filebug Please include the following information with the report: command-not-found version: 0.3 Python version: 3.2.3 final 0 Distributor ID: Ubuntu Description: Ubuntu 12.10 Release: 12.10 Codename: quantal Exception information: unsupported locale setting Traceback (most recent call last): File "/usr/lib/python3/dist-packages/CommandNotFound/util.py", line 24, in crash_guard callback() File "/usr/lib/command-not
  • Windows 上的 Unix 风格工具?(Unix-style tools on Windows?)
    问题 在工作中(主要是 Unix 开发商店),过去 1.5 年我有一个 OS X 机器,在那之前有一个 Linux 机器。 由于各种情况,我将在接下来的几周内获得一台 Windows XP 笔记本电脑。 我对此感到很复杂 - 作为经理,我习惯于为 Excel、Outlook 等运行 Windows 安装(通过 Parallels),这很好,但不好的是我会错过所有OS X 上可用的 Unix 工具。 所以,我要问你的问题(也许是社区 wiki?)是:Unix 开发人员在使用 Windows 机器时会发现什么类型的工具很方便? 我希望能够在机器上进行一些开发(主要是 Perl),并且还可以轻松地远程连接到其他(Unix)机器。 到目前为止,我推荐的内容如下: 编辑:gvim SSH:腻子 回答1 您需要 cygwin -- 其次,当您绝对必须在 CMD.EXE 控制台中工作时,请使用 unxutils。 回答2 试试 MinGW,Windows 的极简主义 GNU。 这是他们提供的 GNU 工具列表:http://sourceforge.net/projects/mingw/files/ 这包括 bash、sed、awk、grep、cut 和其他熟悉的 GNU 工具。 Perl也在那里。 我发现它是 Cygwin 的一个很好的轻量级替代品。 回答3 在 Windows 上
  • 使用Docker Jenkins容器管道构建Docker映像时找不到Docker(Docker not found when building docker image using Docker Jenkins container pipeline)
    问题 我有一个Jenkins作为docker容器运行,现在我想使用管道构建Docker映像,但是Jenkins容器总是告诉未找到Docker。 [simple-tdd-pipeline] Running shell script + docker build -t simple-tdd . /var/jenkins_home/workspace/simple-tdd-pipeline@tmp/durable- ebc35179/script.sh: 2: /var/jenkins_home/workspace/simple-tdd- pipeline@tmp/durable-ebc35179/script.sh: docker: not found 这是我运行詹金斯图像的方式: docker run --name myjenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkins Jenkins映像的DockerFile是:https://github.com/jenkinsci/docker/blob/9f29488b77c2005bbbc5c936d47e697689f8ef6e/Dockerfile 回答1
  • 运行gradle测试时找不到属性文件(Can't find properties file when running gradle test)
    问题 我正在使用 gradle 来构建和测试我的应用程序。 我使用命令 gradle test 但是在 eclipse 中运行时可以完美运行的测试在使用 gradle 运行时失败。 我的测试定义如下,它找不到的属性文件在这两个文件夹中: /home/user/Development/git/myproject/src/main/java/com/mycompany/config /home/user/Development/git/myproject/src/test/resources @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = { ApplicationConfig.class }) public class WebImportTest { @Resource private Environment env; @Autowired private JestClient jestClient; 我的 Java 配置如下所示: @Configuration @ComponentScan({ "com.mycompany" }) @PropertySource("classpath:/com
  • 设置变量时找不到bash命令(bash command not found when setting a variable)
    问题 我正在编写一个shell脚本,在其中设置了几个变量,这些变量的值是命令的输出。 我得到的错误是: $ $tag_name="proddeploy-$(date +"%Y%m%d_%H%M")" -bash: =proddeploy-20141003_0500: command not found 现在,我确实阅读了其他类似的问题,并在此基础上尝试了各种方法: 将命令分为两个调用 $ $deploy_date=date +"%Y%m%d_%H%M" bash: =date: command not found $ $tag_name="proddeploy-$deploy_date" bash: proddeploy- command not found 尝试使用反引号 $ $tag_name=`proddeploy-$(date +"%Y%m%d_%H%M")` bash: proddeploy-20141003_1734: command not found bash: =: command not found 尝试使用$() $ $tag_name=$(proddeploy-$(date +"%Y%m%d_%H%M")) bash: proddeploy-20141003_1735: command not found bash: =: command not found
  • 使用sudo时找不到命令(Command not found when using sudo)
    问题 我的主文件夹中有一个名为foo.sh的脚本。 当我导航到该文件夹​​并输入./foo.sh ,我得到 -bash: ./foo.sh: Permission denied 。 当我使用sudo ./foo.sh ,我得到 sudo: foo.sh: command not found 。 为什么会发生这种情况,我该如何解决? 回答1 没有权限 为了运行脚本,文件必须设置可执行许可权限位。 为了完全了解Linux文件权限,您可以学习chmod命令的文档。 chmod是change mode的缩写,是用于更改文件的权限设置的命令。 要阅读本地系统的chmod文档,请从命令行运行man chmod或info chmod 。 阅读并理解后,您应该能够理解运行的输出... ls -l foo.sh ...将列出文件所有者,组所有者以及不是文件所有者或文件所属组成员的其他所有人的READ,WRITE和EXECUTE权限作为“世界”或“其他”) 这是有关如何解决您的情况下“拒绝权限”错误的摘要。 $ ls -l foo.sh # Check file permissions of foo -rw-r--r-- 1 rkielty users 0 2012-10-21 14:47 foo.sh ^^^ ^^^ | ^^^ ^^^^^^^ ^^^^^ | | | | | Owner|
  • 运行`tns platform add android`时找不到兼容的Android SDK进行编译(Cannot find a compatible Android SDK for compilation when running `tns platform add android`)
    问题 我正在关注官方 NativeScript 教程,但在为 Android 开发配置 OS X 环境时遇到问题。 运行tns platform add android我收到以下错误: 找不到兼容的 Android SDK 进行编译。 为了能够为 Android 构建,请安装 Android SDK 21 或更高版本。 tns doctor命令还会返回有关 android-sdk 问题的警告: 找不到兼容的 Android SDK 进行编译。 为了能够为 Android 构建,请安装 Android SDK 21 或更高版本。 运行$ android来管理您的 Android SDK 版本。 您需要在您的系统上安装 Android SDK Build-tools。 您必须安装版本 22。从命令行运行“android”以安装所需的 Android 构建工具。 您需要在系统上安装最新的 Android Support Repository。 运行$ android来管理 Android Support Repository。 我的 android-sdk 安装如下所示: 我的 .bash_profile 还包括以下内容: export ANDROID_HOME="/usr/local/Cellar/android-sdk/24.3.4/" export PATH="$PATH:~
  • 远程桌面TeamViewer, 向日葵, NoMachine 和 远程控制MobaXterm软件
    1. TeamViewer 官网下载:termViewer 注意:安装teamViewer要选择个人非商业用途,要不然安装不了。 teamViewer有windows版本和linux版本 2. 向日葵 SunloginClient 3. NoMachine x86系统下远程可以用向日葵,teamviewer等软件,arm下就没法用,在arm下ZeroTier+nomachine即可实现远程。 VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。 ZeroTier将整个世界转变为单个数据中心或云区域。 将所有设备,虚拟机和应用程序联接起来,就像在同一个交换机接入所有设备一样。 简单来说, 它就是一个VLAN组建工具。详情可以参考此篇 3.1 下载安装nomachine 下载网址:NoMachine sudo dpkg -i nomachine_6.9.2_1_arm64.deb 3.2 安装ZeroTier 终端执行: curl -s https://install.zerotier.com | sudo bash 成功后,会显示你的 ZeroTier
  • 如何在正在运行的Docker容器中编辑/ etc / hosts文件(How to edit /etc/hosts file in running docker container)
    问题 我正在一个需要将某些配置存储在Docker容器的/ etc / hosts文件中的应用程序上。 我尝试了很多选项,但是在运行时找不到修改/ etc / hosts文件的任何正确方法。 我想通过Dockerfile或通过Java代码来做到这一点。 我能够构建docker映像并手动修改/ etc / hosts文件,但是不幸的是,这不是我们的项目要求。 回答1 推荐的解决方案是使用--add-host选项在docker-compose.yml docker run ,如果使用docker-compose.yml则在docker-compose.yml文件中使用等效选项。 但是,我和你在同一条船上。 我有一个脚本可以修改要在容器中运行的主机文件,所以我要做的就是将脚本COPY到容器中并使其可执行,然后在您选择的Dockerfile的CMD脚本中,调用您的脚本来修改主机文件 作品 在Dockerfile中 # add the modifyHostsFile script, make it executable COPY ./bash-scripts/modifyHostsFile.sh /home/user/modifyHostsFile.sh RUN sudo chmod +x /home/user/modifyHostsFile.sh # run the script that
  • 发布应用程序时找不到zip-align(cannot find zip-align when publishing app)
    问题 cannot.find.zip.align=The zipalign tool was not found in the SDK. Please update to the latest SDK and re-export your application or run zipalign manually. Aligning applications allows Android to use application resources more efficiently. 这是我尝试发布应用程序时收到的消息。 我正在使用最新版本的Android SDK工具(今天发布的23个)和SDK平台工具(今天也发布的20个)。 我从其中获得了一个APK,但是如果我尝试将其上传到Google Play,则会收到一个错误消息,抱怨它不是zip对齐的。 手动运行zipalign可以修复apk,但是有人知道是什么原因以及如何修复它吗? 回答1 我有同样的问题。 为了修复它,我将Zipalign文件从sdk / build-tools / android-4.4W文件夹复制到sdk / tools / 编辑:自从Google更新了Android版SDK以来,新的构建工具确实解决了此问题。 因此,我鼓励所有人按照Pang在以下文章中的建议更新至Android SDK Build-tools 20 。