【问题标题】:WebStorm: bash script errors when run with "run", but works when executed in the consoleWebStorm:使用“run”运行时出现bash脚本错误,但在控制台中执行时有效
【发布时间】:2018-09-22 02:49:48
【问题描述】:

我为我的项目(maven、grunt 以及一些服务器重新配置)编写了一个构建脚本,当我使用 WebStorm 命令行时,

~/Projects/javaee-angularjs$ ./launchServer.sh 

一切都按预期进行。

但是,当我将文件配置为由 WebStorm(右上角的绿色三角形)运行时,它失败了,因为:/home/user/Projects/javaee-angularjs/launchServer.sh: line 29: grunt: command not found

运行配置应该是绝对正确的: 工作目录是正确的,并且脚本以开头。

知道什么会导致这种奇怪的行为吗?

附:我不知道 WebStorm 是否可以原生运行 bash,因为我一直安装 bash 插件。

【问题讨论】:

    标签: bash webstorm


    【解决方案1】:

    尝试从终端启动 WebStorm - 问题是否仍然存在?

    当从桌面/系统菜单启动时,WebStorm 只能看到在~/.profile(登录 shell)中配置的环境变量,而不是在交互式 shell 配置文件中(如 ~/.bashhrc)。可能的解决方法:

    • 解决方法 1:在登录 shell 中提供所需的变量(例如,对于 bash,将它们从 .bashrc 移动到 .bash_profile)。
    • 解决方法 2:从终端运行 IDE,通过 bin/webstorm.sh
    • 解决方法 3:编辑桌面启动器并将命令设置为 /bin/bash -l -i -c "/path/to/webstorm.sh"

    另见https://youtrack.jetbrains.com/issue/IDEABKL-7589

    【讨论】:

      【解决方案2】:

      错误听起来像 Webstorm 在其路径中找不到 grun。尝试使用 grunt 命令的完整路径。

      【讨论】:

      • 它是一个 bash 脚本。 bash 解释器正在寻找 grunt。在控制台中运行时会找到它
      • 是的,但是如果你的 PATH 和 Webstorm 的 PATH 不同,那么当你在控制台中运行它时可能会发现 grunt,但当 Webstorm 运行它时不会。请记住,这两个环境可能不一样。
      • "来自脚本的运行配置:"工作目录:" 其他一切都应该是 bash 的问题(据我所知,这是通用的):脚本本身甚至会检查如果它在正确的目录中(并且该测试通过)
      • 正如@Lewis M 所说,您似乎不了解 bash 如何查找程序。在新的 shell 中尝试相同的位置:export PATH=;./launchServer.sh
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-22
      • 2016-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      相关资源
      最近更新 更多