【问题标题】:Cannot get subl command working for ST3 on OSX无法在 OSX 上获得适用于 ST3 的 subl 命令
【发布时间】:2014-08-07 08:45:59
【问题描述】:

我正在尝试让 Subl 命令在我的 Mac OSX Mavericks 上运行。我的根应用程序文件夹中有 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 一起使用并从那里用 sublime 打开文件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

谁能告诉我如何解决这个问题, 谢谢

【问题讨论】:

    标签: macos git sublimetext3


    【解决方案1】:

    最有可能的问题是您首先没有/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(PATH 是一个特殊的环境变量,它包含在终端中输入内容时搜索命令的目录列表)。

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

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

    但是,由于/usr/local/bin 已经在您的PATH 中,最简单的解决方案是在那里创建指向subl 的符号链接,而不是创建新的~/bin 目录,制作符号链接,编辑~/.bash_profile,然后重新启动你的 shell。

    【讨论】:

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

    我也有这个要求。我使用alias 而不是那些符号链接方法。这很简单,方法如下。

    Step1:打开~/.bash_profile,添加下面的行,然后保存并关闭它。

    alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
    

    Step2:执行source,使alias设置生效。

    source ~/.bash_profile
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-26
      • 2015-01-11
      • 1970-01-01
      • 2014-08-06
      • 2017-11-12
      • 2013-03-17
      • 2014-07-02
      • 2014-09-28
      相关资源
      最近更新 更多