我已经遍布Stack Overflow,每个人都解决了他们的问题。我无法在Mac上使用任何解决方案。
我已尝试sudo mkdir /usr/local/bin
,sudo mkdir -p /usr/local/bin
,我的终端说:
mkdir: /usr/local: No such file or directory
mkdir: /usr/local/bin: Operation not permitted
当我cd /usr
和ls
时,它会显示这些文件:
X11
adic
lib
sbin
standalone
X11R6
bin
libexec
share
local
文件夹中是否应该有usr
个文件夹?
无论哪种方式,我都无法在usr
或usr/bin
文件夹中创建任何目录,甚至无法使用ls
。为什么会这样?有没有办法强制终端创建目录?
我也是新手,并试图掌握终端真正的运作方式......
答案 0 :(得分:5)
由于这个原因,我没有升级到ElCapitán,但将subl
符号链接放在~/bin
中将适用于任何版本的OS X.首先,我强烈建议使用Sublime Text 3。即使它被称为“beta”,它仍然坚如磐石,并且在ST2上有许多功能添加,改进和错误修复。我现在已经使用它超过2年了,我不会想回去。
在您的主目录中,创建一个bin
目录($
是终端提示,请勿键入):
$ cd
$ mkdir bin
创建符号链接。如果您使用ST3,这是正确的命令。否则,请在\ 2
和Text
之间添加.app
:
$ ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin/subl
打开或创建~/.profile
或~/.bashrc
(如果您已经有一个,请使用它。否则,请使用.profile
):
$ bin/subl .profile
在其中添加以下内容(放入文件的位置无关紧要):
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,如建议的那样。
答案 1 :(得分:1)
如果/usr/local
不存在,尝试创建/usr/local/bin
将失败,因为无处可放。您可以先创建/usr/local
,也可以将-p
标志用于mkdir,这将自动在路径中创建任何缺少的目录。
mkdir -p /usr/local/bin
指向El Capitan的无根模式的答案是不正确。四个位置不受无根模式的限制。
/usr/local
/Applications
/Library
~/Library
答案 2 :(得分:0)
我遇到了类似的问题,即使我的$PATH
变量和~/.bash_profile
内容看起来符合预期,创建,删除和重新创建符号链接的所有尝试都不起作用。最终对我有用的是从实际的Sublime安装目录(/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl
)中删除空格并运行符号链接创建为
$ ln -s /Applications/SublimeText.app/Contents/SharedSupport/bin/subl ~/bin/subl
答案 3 :(得分:-1)
这是因为El Capitan的新无根系统:基本上root无法访问系统目录。
要禁用此功能,请按以下步骤操作: Disabling rootless mode on El Capitan