我想提前道歉,这是一个新手问题!我花了最近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”时,我得到“Command not found”。但是当我重新输入上面的命令时,它说“已经存在。”
我在网上搜索并找到了(有点)修复。我在.bashrc中添加了以下内容:
echo 'export PATH="./bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
使用命令“subl”确实有效但只是暂时的。如果我退出终端或切换到另一个目录,它将停止工作(让我进入问题#2,见下文。)
问题#2:
当我尝试使用命令“subl”在另一个目录下提取文件时,我得到“-bash:./ bin / subl:没有这样的文件或目录”我确认我要编辑的文件确实存在。< / p>
BTW,我正在关注@ http://ruby.railstutorial.org/ruby-on-rails-tutorial-book
发现的Ruby教程非常感谢您的时间!
答案 0 :(得分:132)
在终端中运行每个命令(按此顺序):
$ sudo rm -rf /usr/local/bin/subl
$ sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin
$ subl .
这应该有效!
注意:首先你应该检查你的sublime应用程序是否在Applications文件夹中,它的名字是Sublime Text 2,如果没有,你应该在第二个命令中更改名称并输入sublime的名称应用
答案 1 :(得分:94)
如果您使用的是RVM,请执行以下操作:
ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/.rvm/bin/subl
答案 2 :(得分: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
答案 3 :(得分:19)
对于El Captain或更高版本的OS:
在 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
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
答案 4 :(得分:7)
我在最近配置的新Mac上遇到了同样的问题。我在oh-my-zsh和sublime文本之前安装了RVM,我遇到了同样的问题。我在路径上尝试了不同的位置
/usr/bin
/usr/local/bin
所有人都在路上。对我有用的是删除命令行上的引号
sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/bin/subl
答案 5 :(得分:7)
如果您使用的是 Sublime Text 3 ,则需要调整isanjosgon答案中的命令:
A 2018-07-11T01:22:45.628Z
B 2018-07-11T01:37:45.628Z
C 2018-07-11T01:52:45.628Z
C 2018-07-11T02:07:45.628Z
D 2018-07-11T02:22:45.628Z
E 2018-07-11T02:37:45.628Z
E 2018-07-11T02:52:45.628Z
F 2018-07-11T03:07:45.628Z
答案 6 :(得分:2)
编辑您的~/.bashrc
文件以在其末尾包含此行:
export PATH="$HOME/bin:$PATH
请注意~
代替您示例中的.
? ~
表示您的主目录,即.bashrc
文件所在的目录。圆点表示终端窗口的当前目录。
完成更改后,关闭终端窗口并重新打开。然后应该在PATH上提供subl
。
答案 7 :(得分:2)
关于您的第一个问题,可能是您的主目录下没有设置bin目录(即〜/ bin)?要检查此项,请键入以下内容:
cd ~/
ls -l
如果没有bin目录,请键入以下内容:
mkdir bin
创建目录后,重新键入以下内容:
subl --help
希望能解决问题
答案 8 :(得分:2)
如果您想要
,也可以创建新的别名alias subl =&#34; / Applications / Sublime \ Text.app/Contents/SharedSupport/bin/subl"
答案 9 :(得分:1)
在更新Sublime Text之后,接受的答案中的路径略有变化。
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/.rvm/bin/subl
答案 10 :(得分:0)
当你更改目录或重新打开终端然后PATH无法工作的原因是.bashrc是一个非登录的交互式文件。
只需在终端使用此行:
echo 'export PATH=$PATH:~/bin' >> ~/.bash_profile
可能会解决问题,因为每次登录时都会加载.bash_profile。
如果你没有.bash_profile, 在使用上述命令之前,在终端中输入:
cd ~
touch .bash_profile
然后使用正式命令。
我不会碰到usr / local / bin,因为它是系统级文件夹。听说最近在OS X El Capitan,Apple取得了一些许可限制。 所以只需将克隆放在/ bin文件夹下的主目录中,然后在.bash_profile中添加PATH,那么一切都应该正常工作。
答案 11 :(得分:0)
在linux sublime 3中,在终端粘贴
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/bin
然后
subl3 [filename]
答案 12 :(得分:0)
$ alias subl="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl"
$ subl .
这有效! :d
答案 13 :(得分:0)
我首先检查了which subl
什么也没返回。
这意味着必须将subl的路径添加到所需的PATH变量中。
因此,将subl的PATH变量路径添加到
PATH=$PATH:/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/
您可能首先想找到您subl的正确路径,并将其添加到PATH变量中
如果可行,请通过在.bash_profle中添加以下命令来永久添加路径
export PATH = $ PATH:/ Applications / Sublime \ Text \ 2.app/Contents/SharedSupport/bin /
注意:subl的路径在您的系统中可能会有所不同。