将 ST3 升级到版本 3065 后,我无法再通过终端启动它:
[11:53:31] ❯ /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl .
Unable to launch Sublime Text
我已经显示了绝对路径,这样就没有人认为这是符号链接问题。
之前版本的ST3(build 3059,IIRC)没有这个问题。
subl -h
按预期工作并正确打印帮助。实际上,除了打开文件之外,所有 cli 标志都有效。显式提供单个文件参数会产生相同的结果。
我遇到了这个错误,结果发现罪魁祸首是 tmux(参见 升级到 Yosemite 后无法在 tmux 中打开 sublime text )。因此,如果您尝试在 tmux 中启动 Sublime Text 并收到“无法启动 Sublime Text”消息,那么罪魁祸首就是 tmux 中的错误。 (参见https://superuser.com/a/833791)
重复上面的链接所说的内容:
问题是 tmux 在不应该的情况下将引导程序更改为系统域(请参阅https://trac.macports.org/ticket/18357)。较旧版本的 launchd 解决了 tmux 中的此错误,但 OS X Yosemite 中重写的 launchd 无法解决此 tmux 错误。
您要么需要等待 Apple 可能发布解决 tmux bug 的更新,要么需要纠缠 tmux 开发人员来修复 tmux 中的这个已知至少 6 年的 bug。
删除以下内容就可以了(不确定它是否具体其中之一,所以列出所有内容):
~/Library/Caches/com.sublimetext.3
~/Library/Preferences/com.sublimetext.3.plist
然后重新启动ST3。我不能说为什么他们保留了旧应用程序的链接。
感谢@Paul R. 帮助我指明了正确的方向。
我能够通过运行来使其工作
# brew install reattach-to-user-namespace
然后在我的
~/.zshrc
或 ~/.bashrc
中为 subl 命令起别名:
alias subl='reattach-to-user-namespace subl'
对于这种事情,通常使用
open
会更好:
open -a "Sublime Text" .