从终端启动 Sublime Text 2 (Mac OS El Capitan)

Launching Sublime Text 2 from Terminal (Mac OS El Capitan)

我查看了整个 Stack Overflow,每个人的问题都得到了解决。我无法在我的 Mac.

上找到任何解决方案

我试过 sudo mkdir /usr/local/binsudo mkdir -p /usr/local/bin,我的终端显示:

mkdir: /usr/local: No such file or directory
mkdir: /usr/local/bin: Operation not permitted

当我 cd /usrls 时,它向我显示这些文件:

X11
adic
lib
sbin
standalone
X11R6
bin
libexec
share

usr 文件夹中应该有一个 local 文件夹吗?

无论如何,我无法在 usrusr/bin 文件夹中创建任何目录,甚至无法使用 ls。为什么会这样?有没有办法强制终端创建目录?

我也是新手,正在尝试了解终端的真正工作原理...

这是因为 El Capitan 的新 rootless 系统:基本上 root 不能再访问系统目录了。

要禁用此功能,请按照以下步骤操作: Disabling rootless mode on El Capitan

我还没有升级到 El Capitán,部分原因是,但是将 subl 符号链接放入 ~/bin 将适用于任何版本的 OS X。首先,虽然,我强烈推荐使用Sublime Text 3。尽管它被称为 "beta",但它坚如磐石,并且比 ST2 有 许多 功能添加、改进和错误修复。我已经专门使用它 2 年多了,我不会梦想回去。

  1. 在你的主目录下,创建一个bin目录($是终端提示,不要输入):

    $ cd
    $ mkdir bin
    
  2. 创建符号链接。如果您使用 ST3,这是正确的命令。否则,在 Text.app 之间添加 \ 2:

    $ ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin/subl
    
  3. 打开或创建 ~/.profile~/.bashrc(如果您已有一个,请使用它。否则,请使用 .profile):

    $ bin/subl .profile
    
  4. 向其中添加以下内容(放在文件中的哪个位置并不重要):

    export PATH=$HOME/bin:$PATH
    

保存文件,重新启动终端会话,subl 命令现在应该可用了。


根据您的评论,我怀疑 Sublime Text.app 可能实际上在您的 /Users/username/Applications 目录中,而不是 /Applications。尝试 运行 以下命令对此进行测试:

$ cd
$ rm bin/subl
$ ln -s /Users/username/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl $HOME/bin/subl
# where username is your actual user name
$ bin/subl .bashrc

如果 Sublime 以实际 .bashrc 或空文件打开,那么您就可以开始了 — 您可以像上面那样添加 export PATH=... 命令并保存文件。请记住,ln 命令的路径假设您正在按照建议使用 Sublime Text 3。

如果 /usr/local 不存在,尝试创建 /usr/local/bin 将失败,因为没有地方可以放置它。您可以先创建 /usr/local,或者使用 -p 标志到 mkdir,这将自动在路径中创建任何缺失的目录。

mkdir -p /usr/local/bin

指向 El Capitan 无根模式的答案不正确。四个位置不受rootless模式限制

/usr/local
/Applications
/Library
~/Library

我遇到了类似的问题,尽管我的 $PATH 变量和 ~/.bash_profile 内容看起来符合预期,但所有创建、删除和重新创建符号链接的尝试都没有奏效。最终对我有用的是从实际的 Sublime 安装目录 (/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl) 中删除 space 和 运行 符号链接创建为

$ ln -s /Applications/SublimeText.app/Contents/SharedSupport/bin/subl ~/bin/subl