如果我在终端(zsh)中打印$PATH
,我会得到:
λ echo $PATH
/Users/jviotti/.nvm/v0.11.13/bin:/Users/jviotti/bin/Sencha/Cmd/4.0.2.67:/usr/sbin:/usr/local/bin:/usr/local/sbin:/sbin:/opt/bin:/Users/jviotti/bin:/home/jviotti/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin
但是,如果我从Sublime Text 2控制台打印环境变量,我只得到:
>>> print(os.environ['PATH'])
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/jviotti/bin
Sublime Text 2检测到我正在使用Zsh,但是我的大部分路径都丢失了。
我该如何解决这个问题?
答案 0 :(得分:1)
当您使用subl
命令通过命令行启动Sublime时,它会从您的shell中获取当前的PATH
。但是,从GUI启动的文件具有单独的PATH
,这是需要更改的内容。请在Unix.SE上查看my answer以获取有关如何为通过Dock或Finder启动的OS X程序设置PATH
的详细说明。这只是在Mountain Lion上进行了测试(Lion有一种不同的方法),虽然它应该适用于Mavericks但我不能保证。它确实需要具有管理员权限。
简而言之,您需要编辑/etc/launchd.conf
(或创建它,如果它不存在)以包含您想要的所有条目,然后重新启动计算机以使更改生效。请记住,这会影响所有 GUI程序,而不仅仅是Sublime,所以如果你开始得到无法解释的行为或错误,这可能是原因。