当使用ZSH时,IntelliJ无法识别环境变量?

7

我正在使用 oh-my-zsh 作为我的终端。 我已将 IntelliJ 设置为使用 /bin/zsh 作为 shell 路径。然而,我的.zshrc 文件中的任何环境变量似乎都没有被提取。我是这样定义环境变量的(例如):

export GOOGLE_APPLICATION_CREDENTIALS="$HOME/mailcreds.json"

但是如果我运行:

echo $GOOGLE_APPLICATION_CREDENTIALS

没有任何内容显示。

5个回答

9

将环境变量设置在~/.profile中,而不是~/.bashrc~/.zshrc中,请参见此问题以获取详细信息。


~/.profile 是用于 bash 的登录 shell 脚本,而 zsh 的等效登录文件是 ~/.zprofile。话虽如此,我更倾向于 Jetbrains 链接中的 "Workaround 3",因为 /etc/zshrc(适用于 Mac)明确建议在 .zshrc 中进行覆盖设置:$ cat /etc/zshrc | grep override # 在 ~/.zshrc 中设置用户特定的覆盖设置。参见 zshbuiltins(1) - undefined

7

这正是我的情况。谢谢。 - 0xh8h

3

对于Ubuntu系统,我编辑了我的IDE桌面启动器以使用login interactive来运行zsh:

  1. 前往/usr/share/applications目录(通常是桌面入口的位置),如果您使用Snap,则前往/var/lib/snapd/desktop/applications目录。
  2. 编辑jetbrains-idea.desktop文件(可能会有不同的名称)。
  3. Exec字段更改为包括/bin/zsh -l -i -c "/opt/intellij/bin/idea.sh"

文件的最终结果:

[Desktop Entry]
Version=1.0
Type=Application
Name=IntelliJ IDEA Ultimate Edition
Icon=/opt/intellij/bin/idea.svg
Exec=/bin/zsh -l -i -c "/opt/intellij/bin/idea.sh" %f
Comment=Capable and Ergonomic IDE for JVM
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea
StartupNotify=true

2
目前这是我设置中唯一可行的解决方案(我使用 zsh)。 - Lorenzo Morelli

1

0

我通过在终端中打开Intellij来解决这个问题。如果不存在,则需要创建命令行启动器。

  1. 进入 工具 -> 创建命令行启动器
  2. 然后选择您喜欢的位置
  3. 转到终端并使用该启动器命令:idea

这将打开Intellij并启动应用程序,这样就能访问您的系统环境属性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接