我创建了webstorm外部工具,它会抛出一些错误但是从终端运行相同的任务工作正常。我知道这是因为在webstorm中运行时,$ PATH变量设置为与终端案例不同。创建外部工具时,没有任何选项可以设置环境变量。如何在webstorm / rubymine中为外部工具设置$ PATH?我创建的外部工具是一项艰巨的任务,如果有帮助,操作系统就是ubuntu。
这是错误:运行grunt服务器时出错:无法运行程序“grunt”:error = 2,没有这样的文件或目录
答案 0 :(得分:4)
有一个feature request来支持外部工具的环境变量。
目前的解决方法:
bash --login
运行您的脚本(外部工具运行bash登录shell,用于设置环境并执行作为参数传递的脚本名称)答案 1 :(得分:1)
对于OSX:
在您喜欢的编辑器中打开‘/Applications/Webstorm.app/Contents/Info.plist’
。
找到以下部分并替换[您的路径值]
<key>LSEnvironment</key>
<dict>
<key>PATH</key>
<string>[Your Path Value]</string>
</dict>
然后运行:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/WebStorm.app
我从Ifeanyi Isitor的一个梦幻般的article得到了这个解决方案
http://ify.io/getting-webstorm-external-tools-to-work-on-webstorm-on-osx
答案 2 :(得分:0)
我发现了Linux的一个肮脏的工作环境。 创建一个文件(例如phpstorm_wrapper)并将其放入:
#!/bin/bash
if [ $# > 1 ]; then
exec "$@"
else
eval "$1"
fi
保存并使其可执行。
用法:
现在,您可以在“外部工具”中以Program:
的形式运行wrapper脚本,并将所有所需的参数设置为Arguments
输入字段。
脚本将执行它并返回结果。
如果需要使用ENV变量,则必须使用env
命令,如下所示:
env FASTLANE_JSON_KEY_FILE=./release_manager.json fastlane test
如果需要使用| (管道),phpstorm将其用引号引起来。为了能够执行使用|的命令,请在external tool dialoge
中用引号将整个Textfield“ Arguments”括在引号中。
示例: