当我从Intellij IDEA运行Gradle时发生此错误..但是从控制台一切正常......有人知道为什么?
执行外部任务'run --stacktrace'...:compileJava UP-TO-DATE:compileScala UP-TO-DATE:bower FAILED org.gradle.api.tasks.TaskExecutionException:任务':bower'的执行失败 . 引起:java.io.IOException:无法运行程序“bower”(在目录“/ Users / eduardo / Development / projects / jhipster”中):error = 2,没有这样的文件或目录
2 回答
我联系了JetBrains对此的支持 . 他们建议的一件事是从命令行运行IntelliJ,这对我有用:
猜测一下,你在OSX上运行IntelliJ,可能还有一个brew安装的凉亭?
最新版本的OSX(至少10.10.1)不允许您轻松设置图形应用程序的PATH(launchctl似乎有一个关于PATH的错误) . 结合无法修改当前环境PATH以在Java中启动子进程,这导致无法找到bower可执行文件 . 这里可以看到根问题的完整纲要(Setting the environment for ProcessBuilder),但基本上IntelliJ必须正确设置PATH才能搜索非标准PATH .
我现在的解决方案是从https://apple.stackexchange.com/a/51737完全破解 - 基本上,创建一个包装脚本:
创建
/Application/IntelliJ\ IDEA\ 14.app/Contents/MacOS/idea.sh
,内容为:那么
chmod +x /Application/IntelliJ\ IDEA\ 14.app/Contents/MacOS/idea.sh
然后编辑
/Application/IntelliJ\ IDEA\ 14.app/Contents/Info.plist
并将CFBundleExecutable
设置为idea.sh
最后,运行
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/IntelliJ\ IDEA\ 14.app
这是一个黑客,但它的工作原理......直到Apple修复了launchctl,它才能实现.2803720 .