Terminal 升华文本不再从终端启动
将ST3升级为build 3065后,我无法再通过终端启动它:Terminal 升华文本不再从终端启动,terminal,editor,osx-mavericks,sublimetext,sublimetext3,Terminal,Editor,Osx Mavericks,Sublimetext,Sublimetext3,将ST3升级为build 3065后,我无法再通过终端启动它: [11:53:31] ❯ /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl . Unable to launch Sublime Text 我已经显示了绝对路径,所以没有人认为这是一个符号链接问题 以前版本的ST3(构建3059,IIRC)没有此问题 subl-h按预期工作并正确打印帮助。实际上,除了打开文件之外,所有cli标志都有效。显式提供单个文件参
[11:53:31] ❯ /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl .
Unable to launch Sublime Text
我已经显示了绝对路径,所以没有人认为这是一个符号链接问题
以前版本的ST3(构建3059,IIRC)没有此问题
subl-h
按预期工作并正确打印帮助。实际上,除了打开文件之外,所有cli标志都有效。显式提供单个文件参数会得到相同的结果。对于这种情况,通常最好使用open
:
open -a "Sublime Text" .
删除以下内容确实起到了作用(不确定它是否是其中的一个,所以请列出所有内容): ~/Library/Caches/com.sublimiteText.3 ~/Library/Preferences/com.sublimitext.3.plist 然后重新启动ST3。我说不清他们为什么要保留旧应用程序的链接 感谢@Paul R.为我指明了正确的方向。(我没有50名代表,否则我会将此作为对原始问题的评论,因为它只提供了可能的附加信息,而不是实际的“解决方案”) 我遇到了这个错误,结果证明罪魁祸首是tmux(参见)。因此,如果您试图在tmux中启动升华文本,并且收到“无法启动升华文本”,那么罪魁祸首就是tmux中的一个bug。(参见) 要重复上面的链接所说的内容: 问题是tmux正在将引导更改为system domain,而它本不应该这样做(请参阅)。旧版本的launchd解决了tmux中的这个bug,但是在OS X Yosemite中重写的launchd无法解决这个tmux bug 你要么需要等待苹果可能发布一个针对tmux漏洞的更新,要么缠着tmux开发人员修复tmux中的这个漏洞,这个漏洞已经知道至少6年了
我可以通过运行来实现这一点
# brew install reattach-to-user-namespace
然后将my~/.zshrc
或~/.bashrc
中的subl命令别名如下:
alias subl='reattach-to-user-namespace subl'
你可以试试:嗯。
在哪里打开
维护应用程序链接?我想是在一个夹缝里吧?似乎open
引用的是不再存在的旧版本的ST。您对旧版本做了什么?它还在垃圾桶里吗?没有,幽灵骑士。CarlesAlcolea:好吧,使用open
比直接执行应用程序的二进制文件要抽象得多,它会为您处理各种小细节。它还为您提供了启动应用程序的更多灵活性(请参见man open
)。在大多数情况下,我希望这两种方法都能起作用,但在某些情况下,open
做了正确的事情,暴力方法失败了。看,我学到了一些有趣的东西。知道了这一点,我想我将使用open
创建一个别名!如果你走到这一步,这就解决了tmux的问题(尽管tmux问题本身仍然没有解决)如果使用Sublime作为默认终端编辑器,则也可以在~/.bashrc
或~/.zshrc
中放置export editor=“resattach to user namespace subl”
。