我正在尝试将Subl命令用于我的Mac OSX Mavericks。我的root应用程序文件夹中有ST3。
当我运行下面的行时,我也用sudo运行它并得到相同的消息。
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl
在终端中我收到以下错误
ln: /Users/username/bin/subl: No such file or directory
我仔细检查了它是否有效
subl --help
但是收到以下错误
-bash: subl: command not found
我正在努力让这个工作,所以我可以使用它与Git打开文件与升级https://help.github.com/articles/associating-text-editors-with-git#using-sublime-text-as-your-editor
我的.bash_profile如下所示
export PATH=/usr/local/git/bin:$PATH
export PATH="/usr/local/bin:$PATH"
export EDITOR='subl -w'
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
fi
任何人都可以建议如何解决这个问题, 感谢
答案 0 :(得分:2)
最有可能的问题是您首先没有/Users/username/bin
目录,因此尝试创建符号链接的ln
命令无效。除此之外,即使~/bin
确实存在,它也不属于您的PATH
,因此永远不会找到subl
命令。
为了让您更轻松,只需在/usr/local/bin
中创建符号链接即可。它(希望)已经存在,并且已经存在于您的PATH
中。跑吧
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
你应该全力以赴。
回复您的评论:此处有2个命令 - ln
,其中会创建symlink,而export
只会创建environment variable({{1}是一个特殊的环境变量,它包含在Terminal中输入内容时搜索命令的目录列表。
创建符号链接时,在创建链接之前,需要存在整个目录树。因此,虽然PATH
和/Users
已经存在,但/Users/username
没有,因此/Users/username/bin
命令失败,无论是否使用了ln
。要在您的主目录(也称为sudo
)中创建bin
目录,您首先需要运行~
,然后使用您的第一个{{1}创建符号链接}命令(没有mkdir ~/bin
的那个)。接下来,您需要通过将ln
中的前两行替换为
sudo
添加到~/bin
环境变量中
PATH
但是,由于~/.bash_profile
已经在export PATH=~/bin:/usr/local/bin:/usr/local/git/bin:$PATH
中,因此最简单的解决方案是在那里创建符号链接到/usr/local/bin
,而不是创建新的PATH
目录,符号链接,编辑subl
,然后重新启动shell。
答案 1 :(得分:0)
我也有这个要求。我使用alias
而不是那些符号链接方法。这很容易,这是如何。
步骤1:打开〜/ .bash_profile,在其中添加以下行,然后保存并关闭它。
alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
第2步:执行source
以使alias
设置生效。
source ~/.bash_profile
现在您可以使用命令subl
跟随文件或目录路径打开它们,享受吧!