Debugging jetbrains IDE外部工具的环境变量
我创建了webstorm外部工具,它会抛出一些错误,但从终端运行相同的任务效果很好。我知道这是因为在webstorm中运行时,$PATH变量的设置与终端案例的设置不同。在创建外部工具时,没有设置环境变量的选项。如何在webstorm/rubymine中为外部工具设置$PATH?我创建的外部工具是一项繁重的任务,如果有帮助的话,操作系统就是ubuntu 这是错误:运行grunt服务器时出错:无法运行程序“grunt”:错误=2,没有这样的文件或目录没有支持外部工具环境变量的方法 目前的解决办法:Debugging jetbrains IDE外部工具的环境变量,debugging,webstorm,external-tools,Debugging,Webstorm,External Tools,我创建了webstorm外部工具,它会抛出一些错误,但从终端运行相同的任务效果很好。我知道这是因为在webstorm中运行时,$PATH变量的设置与终端案例的设置不同。在创建外部工具时,没有设置环境变量的选项。如何在webstorm/rubymine中为外部工具设置$PATH?我创建的外部工具是一项繁重的任务,如果有帮助的话,操作系统就是ubuntu 这是错误:运行grunt服务器时出错:无法运行程序“grunt”:错误=2,没有这样的文件或目录没有支持外部工具环境变量的方法 目前的解决办法:
- 根据,使GUI应用程序环境与终端中的相同
- 通过
运行脚本(外部工具运行bash-login shell,该shell设置环境并执行作为参数传递的脚本名称)bash--login
“/Applications/Webstorm.app/Contents/Info.plist”
查找以下部分并替换[您的路径值]
<key>LSEnvironment</key>
<dict>
<key>PATH</key>
<string>[Your Path Value]</string>
</dict>
我从Ifeanyi Isitor的一个奇妙的网站上得到了这个修复
我发现了一个针对linux的肮脏工作区。 创建一个文件(例如phpstorm_包装器)并将其放入:
#!/bin/bash
if [ $# > 1 ]; then
exec "$@"
else
eval "$1"
fi
保存并使其可执行
用法:
现在,您可以在“外部工具”中以Program:
的形式运行包装器脚本,并将您喜欢的所有参数设置为Arguments
inputfield
脚本将执行它并返回结果
如果需要使用ENV Variable,则必须像下面这样使用
ENV
命令:
env FASTLANE\u JSON\u KEY\u FILE=./release\u manager.JSON FASTLANE test
如果需要使用|(pipes),则phpstorm将其置于引号中。为了能够执行使用|的命令,请将
外部工具对话框中的整个文本字段“参数”封装在引号中
例如:
谢谢。你很好地解释了这个问题,我使用了你的第二种解决方案。
#!/bin/bash
if [ $# > 1 ]; then
exec "$@"
else
eval "$1"
fi