在 macOS 上,由 GUI 启动器(Finder、Dock、Spotlight 等)启动的应用程序继承了一个相对空的环境,并且没有智能的方法来改善它。这种情况引起了一些投诉:在终端中正常工作的工具,从 IDE 启动时无法正常工作。这就是 IDE 在启动时尝试加载 shell 环境的原因。为此,它在后台启动一个 shell 并指示它运行一个辅助进程。从 2021.2 开始,IDE 会在加载失败时显示通知。

最常见的原因是与终端交互的 shell 初始化脚本。 IDE 必须使用 -i 选项在交互模式下运行 shell,因为环境修改通常发生在 ~/*rc 脚本中,而这些脚本认为与终端交互的能力是理所当然的。不幸的是,从 IDE 启动的 shell 无法访问终端,加载失败并出现错误或超时(有关更多详细信息,请查看日志中的“无法获取 shell 环境”行)。

要修复加载并消除通知,请更改脚本,以便在 IDE 启动 shell 时跳过所有可能的终端交互;一种可能的方法是将它们放在条件块中:

  if [ -z "$INTELLIJ_ENVIRONMENT_READER" ]; then
    ...
  fi