Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terminal 升华文本不再从终端启动_Terminal_Editor_Osx Mavericks_Sublimetext_Sublimetext3 - Fatal编程技术网

Terminal 升华文本不再从终端启动

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标志都有效。显式提供单个文件参

将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标志都有效。显式提供单个文件参数会得到相同的结果。

对于这种情况,通常最好使用
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”