sublimetext2 - 在 OSX 桌面上为 Sublime Text 设置环境变量

标签 sublimetext2 sublimetext bash sublime-build

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

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

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

谢谢!

最佳答案

在 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

关于sublimetext2 - 在 OSX 桌面上为 Sublime Text 设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25994666/

相关文章:

sublimetext3 - 在替换中使用匹配模式

ruby-on-rails - 如何在 sublime text 2 中设置/使用 ruby​​ on rails 片段和自动完成功能?

indentation - sublime text 2 中的可见制表符宽度

sublimetext2 - Sublime Text 2 : How to make Sublime run a command (fold code) when opening a file by default?

sublimetext2 - 关于缩进的 Sublime Text 排序

sublimetext2 - Sublime Text : Pressing Esc from multiple selections -- put cursor at last selection?

macos - 从终端运行 Sublime Text 3 时如何解决 Permission Denied?

linux - 在 bash 中,如何将一列拆分为多个固定维度的列

linux - 处理将参数传递给嵌套脚本调用并创建有效的菜单驱动 cli 的最佳方法

linux - Sudoers 文件中的 Bash 脚本,但希望该脚本在特定条件下询问根密码