Macos 无法使subl命令在OSX上为ST3工作

Macos 无法使subl命令在OSX上为ST3工作,macos,git,sublimetext3,Macos,Git,Sublimetext3,我正试图让Subl命令在我的MacOSX小牛上运行。我的根应用程序文件夹中有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 在终端中,我得到

我正试图让Subl命令在我的MacOSX小牛上运行。我的根应用程序文件夹中有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
-bash: subl: command not found
我仔细检查了一下,看它是否能正常工作

subl --help
但是得到以下错误

ln: /Users/username/bin/subl: No such file or directory
-bash: subl: command not found
我正试图让它工作,这样我就可以用Git使用它,并从那里用Submite打开文件

我的.bash_配置文件如下所示

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
有谁能建议如何解决这个问题,
谢谢

问题很可能是您首先没有
/Users/username/bin
目录,因此尝试创建符号链接的
ln
命令无效。其次,即使
~/bin
确实存在,它也不是
路径的一部分,因此将永远找不到
subl
命令

为了让事情变得更简单,只需在
/usr/local/bin
中创建符号链接。它(希望)已经存在,并且已经在您的
路径中。快跑

sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
你应该准备好了


回应您的评论:这里有两个命令-
ln
,它创建一个,和
export
,它只创建一个(
PATH
是一个特殊的环境变量,它包含在终端中输入内容时搜索命令的目录列表)

创建符号链接时,在创建链接之前,需要存在整个目录树。因此,虽然
/Users
/Users/username
已经存在,
/Users/username/bin
没有,因此无论是否使用
sudo
,ln
命令都失败。为了在主目录(也称为
~
)中创建
bin
目录,首先需要运行
mkdir~/bin
,然后使用第一个
ln
命令创建符号链接(没有
sudo
)。接下来,您需要将
~/bin
添加到
路径
环境变量中,方法是将
~/.bash_profile
中的前两行替换为

export PATH=~/bin:/usr/local/bin:/usr/local/git/bin:$PATH

但是,由于
/usr/local/bin
已经在您的
路径中,最简单的解决方案是在那里创建指向
subl
的符号链接,而不是创建一个新的
~/bin
目录,创建符号链接,编辑
~/.bash\u profile
,然后重新启动shell。

我也有这个要求。我使用
alias
而不是那些符号链接方法。这是相当容易的,这里是如何

步骤1:打开~/.bash_配置文件,将下面的行添加到其中,然后保存并关闭它

alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
步骤2:执行
source
使
alias
设置生效

source ~/.bash_profile

现在,您可以使用命令
subl
和文件或目录路径打开它们,尽情享受吧

谢谢,这很有效,但不幸的是我不明白为什么。从教程中,我认为我的第二个export语句创建了我需要的目录needed@PierceMcGeough请看我上面的扩展答案,希望这能解释为什么我这么做,以及为什么你最初的尝试失败。谢谢,这很有意义。一些不同的教程说~/bin应该已经存在了。如果我删除export PATH=“/usr/local/bin:$PATH”行,它是否应该停止工作?