Subl 命令不起作用 - 找不到命令

Posted

技术标签:

【中文标题】Subl 命令不起作用 - 找不到命令【英文标题】:Subl command not working - command not found 【发布时间】:2014-09-28 22:27:14 【问题描述】:

我很难进行此设置。我修复了我的.bash_profile,并使用来自 Sublime 网站的以下命令创建了符号链接:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl 

然而,当我输入该命令时,我得到:

ln: /Users/my_username/bin/subl: No such file or directory

看来我的终端正在寻找文件的错误位置?为什么它试图指向我的主目录上的 bin 文件夹?

【问题讨论】:

确保~/bin 目录存在。 ln 不会自动创建它。 感谢您的评论,我很感激。所以我创建了 bin 目录,它包含“subl”。但是代码仍然无法识别。 Applications Documents Library Music Public dotfiles Desktop Downloads Movies Pictures bin ~ :> cd bin bin :> ls subl bin :> subl --help -bash: subl: command not found bin :> 在 ln -s "...." 之后,避免使用引号。这样做:ln -s /App...... 【参考方案1】:

这对我有用。

首先,确保您在主文件夹中:

cd ~

第 1 步:使用以下命令行删除 /Users/Ram/bin/subl 目录:

rm -rf /Users/Ram/bin/subl

第 2 步:使用以下命令行再次创建此文件夹:

mkdir /Users/Ram/bin/subl

第 3 步:使用以下命令创建一个指向 sublime 的符号链接:

sudo ln -sv "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

(在此命令覆盖权限问题之前使用sudo

第 4 步:现在您可以测试 subl 是否有效:

subl test.py

这应该会打开 sublime 并创建新的 test.py 文件。

【讨论】:

【参考方案2】:

您可以将以下内容添加到 shell 配置文件 .bash_profile 或 .zshrc(Apple 将 bash 替换为 zsh 作为 macOS Catalina 中的默认 shell):

alias subl="open -a /Applications/Sublime\ Text.app" 

这些是编辑.zshrc 并保存更改的步骤(按ESC:wq! 保存并退出):

$ cd ~
$ vim .zshrc
$ source .zshrc

要验证它是否有效,请尝试以下操作,它应该会打开 Sublime Text。

$ subl .zshrc

【讨论】:

【参考方案3】:

虽然 sarbottam 的回答是正确的方法,但如果你像我一样懒惰,并且使用 subl 来做一个 subl .,你可以为你的 ~/. bash_profile

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

然后打开一个新的终端窗口或运行 .bash_profile

【讨论】:

【参考方案4】:

我刚刚在新 iMac 上下载了 MacOS Catalina 10.15 版,并按照 Sublime 文档发现以下带有双引号的内容对我不起作用:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl  

我做了:

ln -s /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl     

它奏效了。

注意:这是在我的 iMac - MacOS Catalina 10.15 上运行的代码,我直接从我的机器上复制/粘贴了工作行。如果您发现其他代码有效,请添加另一个答案并指定您的机器配置。或下面的简单评论。不要编辑代码部分,特别是为工作线添加双引号。谢谢!!

【讨论】:

人们:请不要编辑此答案的代码部分,因为这是在我的 iMac - MacOS Catalina 10.15 上工作的代码,我直接从那里复制/粘贴。如果您发现其他代码有效,请添加另一个答案并指定您的机器配置。【参考方案5】:

我使用sudo 尝试了几种组合,还包括或排除了/Sublime\ Text.app 包中的转义空格。

创建所需符号链接的方法是:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

我不必使用sudo 或修改$PATH

作为参考,我使用的是 Mac OS Mojave 10.14。

echo $PATH 当前(未经我任何修改)显示以下内容:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

您可以通过在运行上面的ln 命令后立即输入which subl 来判断这是否有效。如果你没有得到一行输出显示 Bash 在哪里找到了你的 subl 命令,那么你就没有它。

【讨论】:

【参考方案6】:

我正在记录这一点,因为它可以在我的机器上运行,并且可能会为那些在运行 sarbbottam 的答案中建议的命令时看到“文件已存在”的人解决问题。我不确定我可以完全解释它,所以我可能会使用错误的术语。

当我复制/粘贴 sarbbottam 的命令时,我的终端报告该文件已经存在。我尝试将这个问题的几个 Stack Overflow 答案复制/粘贴到我的终端中,所以我的 /usr/local/bin 目录中有名为 sublsublime 的符号链接。当我使用ls -a 列出该目录中的所有文件时,我可以看到该文件。我试图在文本编辑器中打开subl 目录,它说该文件不存在。

我删除了/usr/local/bin 中的subl 符号链接,运行了命令,它成功了。

我想我不小心为 Sublime Text 2 或其他东西做了一个,只是想我会覆盖最后一个,但事实并非如此。

【讨论】:

【参考方案7】:

我的类似问题只是通过省略引号来解决。因此,如果您正在使用:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/sub

我做了:

ln -s /Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl ~/bin/subl

【讨论】:

可以确认这对我也有效。我先尝试了前者,但没有奏效。后者虽然做到了。谢谢!【参考方案8】:

如果你使用的是 Sublime Text 2,试试这个:

$ ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

或者,如果您的路径位于 /usr/bin/ 而不是 /usr/local/bin:

$ ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/bin/subl

【讨论】:

【参考方案9】:

"Launch Sublime Text from the command line on OSX" 为我工作。我使用 Sublime Text 3,只需将下面的命令复制并粘贴到命令行。我在根级别做到了这一点

$ cd ~

如果您使用的是 Sublime Text 3 复制,请将其粘贴到命令行:

// Sublime Text 3
$ ln -sv "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

如果您使用的是 Sublime Text 2 复制,请将其粘贴到命令行:

// Sublime Text 2
$ ln -sv "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

现在测试一下它是否有效:

    从命令行打开一个新文件:

    $  subl test.rb  // it should open new file test.rb in Sublime Text
    

    打开一个项目文件夹:

    $ subl dir/myProject // opens a new folder inside Sublime
    

    启动 Sublime 应用:

    $ subl // launches Sublime
    

要打开 Sublime 帮助以获取更详细的选项,请使用:

$ subl -h // Sublime help

【讨论】:

【参考方案10】:

这解决了我在优胜美地战斗一段时间后的 Sublime 终端 (subl) 命令问题:

sudo su
rm /usr/local/bin/subl
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
exit

这里是the source。

【讨论】:

如果没有 su,我也无法正常工作。这是有原因的吗? 刚试过这个(在优胜美地),但没有运气。甚至重新启动终端并检查我的路径.. 我收到这个错误:sh-3.2# rm /usr/local/bin/sublrm: /usr/local/bin/subl: No such file or directorysh-3.2# ln -s "/Applications/SublimeText.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublln: /usr/local/bin/subl: No such file or directory 为我解决的步骤:1) sudo su 2) cd /usr 3) mkdir local 4) cd local 5) mkdir bin 6) cd ~/ 7) 运行符号链接 为什么我们需要使用 sudo su?【参考方案11】:

/usr/local/bin 而不是~/bin 中创建符号链接,并确保/usr/local/binPATH 中。

$ ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/.
$ echo $PATH

如果您没有找到/usr/local/bin/,则将以下行添加到您的.bashrc.zshrc:

PATH=$PATH:/usr/local/bin/; export PATH

【讨论】:

所以我已经尝试过了,您可以在 /usr/local/bin 中看到“subl”,但该命令仍然失败。它现在存在于两个地方,用户名/bin 和 /usr/local/bin '~ :> cd /usr/local/bin bin [master] :> ls npm sub oid2name subl pg_archivecleanup Vacuumdb pg_basebackup Vacuumlo' 我删除了一些里面的内容不超过字符数限制。 你能做一个which subl 并粘贴输出吗? 非常感谢您帮助我解决了这个问题! 我只是使用查找器找到 subl 文件并将其放在我的 usr/local/bin 中,当我在查找器中打开应用程序的内容时,我发现 subl 文件丢失了!我一定是搞砸了,所以我手动删除、重新安装并移动它。 对于 Sublime Text 2:ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/.【参考方案12】:

有多个符号链接指向同一个目标可能存在问题。我删除了我的链接“subl”,我的链接“sublime”仍然有效。

【讨论】:

【参考方案13】:

在我的最后 subl 工作正常,但 git 无法访问它。并显示这些错误

subl -n -w: subl: command not found
error: There was a problem with the editor 'subl -n -w'.

对于 Mac OS X,在 [core] 下的 ~/.gitconfig 文件中,我不得不把这段代码放在我的最后解决问题。

editor = /Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl  -n -w

【讨论】:

以上是关于Subl 命令不起作用 - 找不到命令的主要内容,如果未能解决你的问题,请参考以下文章

Docker 命令在 Windows 上的 Git Bash 中不起作用(执行:“com.docker.cli”:在 %PATH% 中找不到可执行文件)

命令行应用程序中的 asp.net 4.0 到 excel 2010 不起作用 - 即使在驱动程序安装后也找不到驱动程序

pip install numpy 不起作用:“找不到匹配的发行版”

Discord Python 子命令不起作用?

成功安装vagrant后 vagrant up命令不起作用为啥

discord py - 自定义命令前缀不起作用(没有命令运行)