在终端中使用subl命令的问题:"找不到命令"和"没有这样的文件或目录"

Ral*_*tza 49 bash terminal sublimetext2

我想提前道歉,这是一个新手问题!我花了最后2个小时试图找到解决方案.

我有两个问题(我确定相关).

背景:

这就是我的$ PATH看起来像:

/Users/Sponsi/.rvm/gems/ruby-1.9.3-p194/bin:/Users/Sponsi/.rvm/gems/ruby-1.9.3-p194@global/bin:/Users/Sponsi/.rvm/红宝石/红宝石1.9.3-P194 /斌:/Users/Sponsi/.rvm/bin:在/ usr/bin中:/ bin中:/ usr/sbin目录:/ sbin目录:在/ usr/local/bin目录:在/ usr /本地/ git的/ bin中:在/ usr/X11/bin中

问题#1

我试图使用命令行命令"subl"在OSX上启动Sublime Text 2.

我输入了以下命令:"ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

它只有一半工作 - 当我进入"subl"时,我得到"命令未找到".但是当我重新输入上面的命令时,它说"已经存在".

我在网上搜索并找到了(有点)修复.我在.bashrc中添加了以下内容:

echo 'export PATH="./bin:$PATH"' >> ~/.bashrc 
source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

使用命令"subl"确实有效但只是暂时的.如果我退出终端或切换到另一个目录,它将停止工作(让我进入问题#2,见下文.)

问题#2:

当我尝试使用命令"subl"在另一个目录下提取文件时,我得到"-bash:./ bin/subl:没有这样的文件或目录"我确认我要编辑的文件确实存在.

顺便说一句,我正在关注发现的Ruby教程@ http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

非常感谢您的参与!

isa*_*gon 138

在终端中运行每个命令(按此顺序):

$ sudo rm -rf /usr/local/bin/subl
$ sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin
$ subl .
Run Code Online (Sandbox Code Playgroud)

这应该工作!

注意:首先你应该检查你的sublime应用程序是否在Applications文件夹中,它的名字是Sublime Text 2,如果没有,你应该在第二个命令中更改名称并输入sublime应用程序的名称.

  • 谢谢!接受的答案对我不起作用. (3认同)

Bob*_*lsh 94

如果您使用的是RVM,请执行以下操作:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/.rvm/bin/subl
Run Code Online (Sandbox Code Playgroud)


Rah*_*ora 25

对于El Captain或更高版本的操作系统:

El Capitan中,您不能写入/ usr/bin,但写入/ usr/local/bin是可以的.默认情况下,/ usr/local/bin也应该在您的路径变量中.

对于Sublime Text 3

sudo rm /usr/local/bin/subl
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
Run Code Online (Sandbox Code Playgroud)

对于Sublime Text 2

sudo rm /usr/local/bin/subl
sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
Run Code Online (Sandbox Code Playgroud)


Rim*_*ian 24

我把我的卡在/ usr/bin中

sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/bin

或者对于Sublime 3或更高版本

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

它已经在$ PATH了

  • 对于Sublime Text 3(及更高版本),请不要使用"\ 2".像这样:`sudo ln -s/Applications/Sublime\Text.app/Contents/SharedSupport/bin/subl/usr/bin` (5认同)
  • 如果您已经拥有/ usr/bin,这是最好的方法.在没有任何其他烦躁的情况下自动拾取它. (2认同)
  • 执行此操作时,我无法操作。有任何想法吗? (2认同)
  • [根据此答案](/sf/answers/2571419861/),它与El Capitan的新系统完整性保护功能有关。我遇到了同样的问题,将链接的位置更改为`/ usr / local / bin`可以为我解决问题。 (2认同)

Nag*_*hab 11

如果你正在使用Sublime Text 3,你需要调整isanjosgon的答案中的命令:

$ sudo rm -rf /usr/local/bin/subl
$ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/
$ subl .
Run Code Online (Sandbox Code Playgroud)


nui*_*uin 7

在最近配置的新Mac上,我遇到了同样的问题.我在oh-my-zsh和sublime文本之前安装了RVM,我遇到了同样的问题.我在路上尝试了不同的位置

/usr/bin
/usr/local/bin
Run Code Online (Sandbox Code Playgroud)

所有这些都在路上.对我有用的是删除命令行上的引号

sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/bin/subl
Run Code Online (Sandbox Code Playgroud)