如果我在控制台中运行以下命令,则输出'/ usr / bin:/ bin:/ usr / sbin:/ sbin':
import os
os.environ['PATH']
但在其他任何地方,PATH都是正确的。在~/.MacOSX/environment.plist
中,如果我运行launchctl getenv PATH
,我会得到正确的路径。
这阻止我运行CoffeeCompile。我有什么想法可以解决这个问题吗?
答案 0 :(得分:0)
我遇到了同样的问题,并没有找到传递正确PATH的方法。但是,我有一个解决方法:一旦从shell打开Sublime Text,它似乎可以使用正确的PATH。换句话说:
subl
命令,或直接)。这样你就可以从Dock中打开ST了。我希望有所帮助。
答案 1 :(得分:0)
在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可执行文件。