【问题标题】:Setting environment variables for Sublime Text on OSX desktop在 OSX 桌面上为 Sublime Text 设置环境变量
【发布时间】:2014-09-23 12:03:15
【问题描述】:

我希望能够从我的 sublime 文本构建中访问我的 .bash_profile 中设置的 JAVA_HOME 变量。构建时出现以下错误。

错误:未正确定义 JAVA_HOME。 我们无法执行 ....

这显然是因为 ST2 没有读入我的 bash 配置文件。有什么破解方法吗?

谢谢!

【问题讨论】:

标签: sublimetext2 sublimetext .bash-profile sublime-build


【解决方案1】:

在 UNIX 上,子进程继承父进程的环境。在这种情况下,Sublime Text 不会通过包含 bash shell 的进程链启动,而 bash shell 又会读取其配置文件。

.bash_profile 通常在 shell 登录时执行。根据您的操作系统,当您进入桌面环境时,它不会执行。因此,环境变量不可用。

解决方法

  • 将环境变量放入计算机启动时始终读取的文件(不知道是哪个文件,除非您告诉操作系统)(例如,lanchd.conf for OSX GUI applications 或 Linux 上的 /etc/profile)

  • 修改桌面启动器图标

  • 将硬编码路径放入构建文件

  • 使用 bash shell 中的 subl 别名而不是桌面图标启动 Sublime Text

More about .bash_profile and .bashrc

【讨论】:

  • 我在 MacOS Mavericks 上。理想情况下,我不想将硬编码路径放在构建文件中。我已经从 bash 启动了 sublime。请解释第一个选项。谢谢
  • 更新了如何为 OSX GUI 应用程序发送环境变量的答案
  • 谢谢。还被告知如果您安装 Apple 的 Java 而不是从 Oracle SDK 安装,它可以工作。
  • 我猜 Apple 的 Java 安装程序会自行为 launchd.conf 打补丁。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-13
  • 2016-07-07
  • 1970-01-01
  • 2014-09-29
  • 1970-01-01
  • 2022-08-10
  • 1970-01-01
相关资源
最近更新 更多