команда subl из терминала не работает

Я новичок в Mac (Mountain Lion) и пытаюсь настроить команду "subl" для терминала, как описано здесь:

Первая задача - сделать символическую ссылку на subl. Предполагая, что вы поместили Sublime Text 2 в папку Applications и у вас есть каталог ~ / bin на вашем пути, вы можете запустить:

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

Но это не работает. Теперь у меня есть папка / bin / под моим пользователем, и эта папка включает псевдоним. Но когда я вставляю subl --help в терминал, я получаю сообщение об ошибке -bash: subl: command not found.

Может кто-нибудь мне поможет?

KR & thx, Фабиан


person Fawyd    schedule 09.08.2012    source источник
comment
Есть ли у вас ~/bin в качестве одного из каталогов в вашей переменной $PATH? В противном случае вы получите ошибку. Многие люди имеют $HOME/bin или ~/bin в качестве одного из каталогов на своих $PATH.   -  person Jonathan Leffler    schedule 15.08.2016


Ответы (13)


Измените каталоги на:

/usr/local/bin

затем запустите это вместо этого:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" subl
person BiigNiick    schedule 06.05.2013
comment
Мне пришлось использовать модифицированную версию для Sublime Text 3: ... / Application / Sublime Text.app / ... - person Fares; 17.12.2014
comment
хороший ответ. однако мне нужно было запустить эту команду как суперпользователь. то есть sudo ln -s / Applications / Sublime Text 2.app/Contents/SharedSupport/bin/subl subl - person Aidan Melen; 24.02.2016
comment
Спасибо за то, что вы заметили, что я должен был находиться в другом каталоге, чем в настоящее время. Я относительно новичок и, вероятно, не догадался бы об этом. Вы очень помогли. - person allardbrain; 19.08.2016
comment
ссылка создана, но не запускается. Команда ls показывает, что он есть, но ввод s в командной строке и попытка автозаполнения не работают, и запускать его не удается. - person Igor Yagolnitser; 28.09.2017

Я нашел решение сейчас - возникла проблема с RVM. Решение - ввести команду

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

в терминал.

person Fawyd    schedule 09.08.2012
comment
Почему rvm вызывает проблемы с этим? Могли бы вы объяснить? - person Edward Anderson; 19.03.2013
comment
@nilbus нет, извини, я не смог. Я все еще новичок в программировании - person Fawyd; 05.04.2013
comment
Оказывается, это решение перестало работать после моего следующего входа в систему. - person Edward Anderson; 05.04.2013
comment
Это решило проблему для меня, хотя я понятия не имею, почему: добавление символической ссылки Sublime в другие папки в PATH не имеет такого эффекта. - person kasia; 10.09.2013
comment
У меня была проблема с RVM, и это отлично сработало для меня. Я рвал волосы до того, как обнаружил это. Спасибо! - person Matt; 13.12.2013
comment
Неужели у людей были проблемы с RVM и sublime? В этом нет смысла, вы должны просто добавить его в свой путь. Если вы действительно хотите связать его, используйте вместо этого ~/bin/. - person ndnenkov; 21.10.2016

Это случилось со мной с Sublime Text 3.

Эта символическая ссылка работает для меня, мне нужно было только изменить место назначения символической ссылки на / usr / local / bin / subl

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

Источник решения Ответ Пола Бирна здесь

person AlbertoMDF    schedule 20.05.2016
comment
Я получил ошибку, в которой отказано в разрешении. Таким образом, вам обычно нужен sudo с ним. - person akshaynagpal; 08.06.2017

Использование Homebrew для установки Sublime обычно автоматически создает правильные символические ссылки.

brew install Caskroom/cask/sublime-text 

Затем можно получить доступ к Subl как:

# Open Sublime at current directory
subl .
person Betsy Dupuis    schedule 04.01.2016
comment
Недавно я попробовал это снова, и, похоже, команда была изменена на subl. - person Betsy Dupuis; 26.07.2016

Решение, выбранное для этого вопроса, - поместить символическую ссылку subl в папку ~ / .rvm / bin, что определенно не является универсальным решением, поскольку этот каталог является частью программы, которую он установил.

Хотя любой каталог в пути будет работать, наиболее распространенное решение - создать каталог bin в домашней папке, установить его в пути, поместив export PATH=$PATH:~/bin в .bash_profile, а затем запустить команду ссылки, как показано в исходном вопросе с этим новым дорожка.

В прошлом было принято помещать символическую ссылку subl в / usr / local / bin, но этот каталог больше не существует в OSX с версии 10.2, и каталог / usr / local больше не находится в пути по умолчанию.

person arquebus    schedule 25.03.2013

РЕШЕНО для MAC OSX Mavericks!

Я нашел этот ответ на этом GitHubGist: https://gist.github.com/artero/1236170

Запустите Sublime Text 2 из терминала Mac OS X

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

Это та часть, которая, как я обнаружил, проясняет то, на что многие ответы StackOverflow только намекают, но не объясняют явно:

Теперь давайте проверим, все ли будет работать гладко. Введите это:

открыть ~ / .bash_profile

(В некоторых случаях файл профиля называется ~ / .profile)

Вы должны увидеть вверху файла строку, которая начинается с: export PATH =

Он содержит все каталоги, в которых будет выполняться поиск исполняемых двоичных файлов при вводе команды в Терминале. Поскольку мы создаем символическую ссылку на subl под названием sublime в каталоге / usr / local / bin, давайте проверим, указан ли этот каталог в той же строке.

Если это так, отлично. Давайте продолжим. Если нет, просто добавьте его вот так и сохраните файл:

экспорт ПУТЬ = / usr / local / bin: (...)

Примечание: '(...)' в этом примере обозначает другие папки, которые будут перечислены в той же строке и разделены двоеточием.

Если у вас еще нет PATH, установленного в вашем bash_profile, вы можете ввести:

экспорт ПУТЬ = / usr / local / bin: $ PATH

Если вам нужно было добавить / usr / local / bin в ваш PATH, выполните следующую команду, прежде чем продолжить:

источник ~ / .bash_profile

Это перезагрузит ваш .bash_profile с новым добавленным каталогом.

Тестирование

Откройте окно терминала и запустите:

возвышенное имя файла (замените «имя файла» фактическим именем файла)

Надеюсь, что это поможет прояснить и другим. В настоящее время (ОСЕНЬ 2014 г.) используется Mac OSX Mavericks. Ваше здоровье

person Eric Hepperle - CodeSlayer2010    schedule 07.11.2014

Если вы просто хотите, чтобы команда открывала файлы с помощью возвышенного текста, и вам не нужно использовать ее в качестве редактора по умолчанию для всех команд, почему бы просто не добавить псевдоним к вашему ~/.bash-profile?

alias subl="open -a 'Sublime Text'"

Это будет работать для открытия файлов и каталогов

person Marco Prins    schedule 16.08.2016

Была такая же проблема на MAC с OSX Yosemite 10.10.5 и возвышенным текстом 3 Build 3083!

Настройка git для работы с вышеуказанными требованиями отлично работала с использованием:

git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -n -w"

И проверьте, работает ли он с:

git config -e
person hoshmy    schedule 31.08.2015

Он работает в Mac OSX 10.8.2, echo $ PATH показывает правильную ссылку subl, как описано в этом сообщении. Другие предложения на странице Sublime Text 2, похоже, не работают с новыми Mac

person Noel Zara    schedule 13.03.2013

Я обнаружил, что существует псевдоним для subl. Введите alias, чтобы увидеть все определенные псевдонимы. Найдите источник и закомментируйте его или используйте unalias subl, чтобы отключить.

person Jose Llausas    schedule 23.07.2016

Для .bashrc или .zshrc

alias subl="open . -a /Applications/Sublime\ Text.app"
person Kiryl Plyashkevich    schedule 26.06.2018

Автоматическая песочница Каталины, похоже, нарушила команду subl.

Используйте следующий псевдоним в качестве альтернативы

alias subl="open $1 -b com.sublimetext.3"
person adib    schedule 15.05.2020

После $ subl . у меня не получилось,

Я попробовал $ bundle exec subl ., и это сработало.

Решение: введите $ bundle exec subl ., и он должен работать. (Очевидно, без символа $)

person lustig    schedule 13.04.2015