如果我在控制台中运行以下命令,它会输出“/usr/bin:/bin:/usr/sbin:/sbin”:
import os
os.environ['PATH']
但在其他任何地方 PATH 都是正确的。在两者中~/.MacOSX/environment.plist
,如果我跑步,launchctl getenv PATH
我会得到正确的路径。
这使我无法运行 CoffeeCompile。有什么想法可以解决这个问题吗?
如果我在控制台中运行以下命令,它会输出“/usr/bin:/bin:/usr/sbin:/sbin”:
import os
os.environ['PATH']
但在其他任何地方 PATH 都是正确的。在两者中~/.MacOSX/environment.plist
,如果我跑步,launchctl getenv PATH
我会得到正确的路径。
这使我无法运行 CoffeeCompile。有什么想法可以解决这个问题吗?
在 Sublime Text 应用程序包目录中创建一个名为“Sublime Text.sh”的空文本文件
/Applications/Sublime\ Text.app/Contents/MacOS
在文本编辑器中打开 Sublime Text.sh 并输入以下内容:
#!/bin/sh
. ~/.bash_profile
logger "`dirname \"$0\"`/Sublime Text"
exec "`dirname \"$0\"`/Sublime Text" $@
在终端设置shell脚本eclipse.sh的可执行标志,即:
chmod +x /Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text.sh
打开 Sublime Text.app Info.plist 并将键 CFBundleExecutable 的值从 Sublime Text 更改为 Sublime Text.sh。
MacOS X 不会自动检测到 Sublime Text.app 的 Info.plist 已更改。因此,您需要使用 lsregister 命令强制更新终端中的 LaunchService 数据库:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/eclipse/Sublime Text.app
下次从 Dock 或 Finder 启动 Sublime Text.app 时,应该设置环境变量。
这将使得当您打开 Sublime Text.app 时,它将运行您的 shell 脚本而不是 Sublime Text 可执行文件。
然后,您的 shell 脚本执行 .bash_profile(设置路径)并使用该路径启动 Sublime Text 可执行文件。