在Mac OS X的终端和Sublime Text 2之间创建符号链接时遇到问题,因此可以从命令行启动它


0

我正在使用Mac OS X Yosemite,并且希望能够使用以下命令从终端打开Sublime Text 2:

sublime .

我已经输入了Sublime Text 2网站上显示的终端

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/sublime

还有这个变体:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime

在终端中,如果我输入:

echo $PATH

我得到:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

我已经尝试编辑我的.bash_profile,现在它是空白

完成所有这些之后,我尝试sublime .获取以下错误:

-bash:崇高:找不到命令

我对Mac OS X和终端配置是完全陌生的,并且真的很难弄清楚为什么我无法使它正常工作,因此将不胜感激。


我找到了另一个解决我的问题的帖子
Ryan Oliver Lanham

Answers:


5

尝试运行命令的反斜杠/转义版本,ln -s如下所示:

ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublime

正如该站点所解释的那样(我同意)~/bin,Sublime Text官方站点所建议的似乎很奇怪,而且我之前从未遇到过像本地二进制文件那样的建议。因此,请避免使用它。

但是,在所有示例中还奇怪的sudo是没有使用。该/usr/local/bin目录是根系统目录,通常除以外的任何人都不能写root。因此请记住,只需通过sudo以下命令运行以上命令:

sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublime

当然,您现在必须输入您的root /管理员密码。但是一旦完成,符号链接应该就位了。并确认它在那里,只需从终端运行以下命令:

ls -la /usr/local/bin/sublime

输出应该是带有日期/时间的目录列表,看起来像以下内容:

lrwxr-xr-x   1 root  wheel       27 Aug 21  2015 sublime -> /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl

1
感谢您抽出宝贵的时间来回复。我认为您的解决方案已经就位,但是问题是我们没有删除我使用官方Sublime Text网站推荐创建的旧符号链接。至少,这就是我的理解。
Ryan Oliver Lanham

1
近三年后,这个答案也为我解决了这个问题。ln -s说明提供的引号版本对我不起作用,切换到反斜杠/转义版本以及使用sudo可以完美解决所有问题。
斯科蒂

-1

使用内置open命令,这应该是一件非常简单的事情-

open -a "Sublime Text 2"

您也可以sublime为此创建一个命令别名。

alias sublime='open -a "Sublime Text 2"'

虽然这对于没有自己的内置二进制文件以方便终端使用的应用程序很有用,但是Sublime Text确实具有这样的二进制文件,如在问答中所解释的以及位于的页面/Applications/Sublime Text2.app/Contents/SharedSupport/bin/subl。问题是关于如何在终端中成功地从该二进制文件创建符号链接以/usr/local/bin/sublime方便访问。
JakeGould
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.