我正试图创建一个指向subl的符号链接,但遇到了问题。说明中写道:"假设你已经将Sublime Text放在Applications文件夹中,并且你的路径中有一个~/bin目录,你可以运行:">
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl
最初,我得到了/Users/User/bin/subl: No such file or directory.
因此,我尝试用mkdir /usr/local/bin
创建目录,并运行上面命令的修改版本:
ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
这很有效,但当我运行subl --help
时,弹出了一个错误:
-bash: subl: command not found
我也试过mkdir ~/bin
。运气不好。我也很担心,因为说明说Sublime应该在应用程序文件夹中,它在Finder中,但不在tbecks/applications下。谢谢你的帮助!
运行的第一个ln
命令使用/Applications/Sublime Text.app
,但第二个使用Sublime Text 2.app
。既然你把这个问题标记为sublimitext3,我想这就是你使用的版本。以下是使符号链接正常工作所需的操作。首先,验证subl
在正确的位置:
ls -l /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl
如果您将Sublime安装在正确的位置,则会打印出以下内容:
-rwxr-xr-x@ 1 mattdmo admin 158192 May 11 21:47 /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl
既然我们知道了原始subl
的位置,我们就可以修复您使用ST2路径犯下的错误:
rm /usr/local/bin/subl
ln -s /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
接下来,我们将看看/usr/local/bin
是否在您的PATH
变量中:
# reload bash's hashmap of executables
hash -r
# find subl, hopefully
which subl
如果PATH
中的/usr/local/bin
为,则which
命令将打印
/usr/local/bin/subl
如果是这样,你就可以去了。如果没有,我们需要将其添加到您的路径中。与另一个答案不同的是,除非你确切地知道自己在做什么,否则你应该永远不要在/etc
中摆弄任何东西。相反,我们将在您的个人bash启动文件中进行更改。根据您使用的OS X版本,此文件可能会有所不同。通过键入转到您的主目录
cd
然后运行
ls -al
以显示所有文件和目录,甚至是以句点/句号.
开头的"隐藏"文件和目录。您正在查找.bashrc
或.profile
。如果两者都存在,或者两者都不存在,请使用.profile
。运行
/usr/local/bin/subl ~/.profile
# or .bashrc
并在底部添加以下行:
export PATH=$PATH:/usr/local/bin
保存文件并关闭它。现在,您可以重新启动终端,您的subl
命令应该可以使用了!如果由于某种原因,它仍然不起作用,请尝试将上面的行添加到另一个文件中(即,如果您刚刚将其添加到.profile
,则尝试将其添加至.bashrc
,反之亦然)。
当我运行"subl-help"时,弹出了这个错误:"-bash:subl:command未找到">
很可能/usr/local/bin
不在您的路径中。
添加
PATH=$PATH:/usr/local/bin
在bash配置文件的末尾(很可能是/etc/bash.bashrc),然后再次执行该命令或使用确认该命令可访问
which subl
编辑:
如果您希望仅为自己限制subl
,请更好地修改~/.bashrc
中的PATH。