возвышенная символическая ссылка исчезла после обновления до El Capitan

Я только что обновился до OS X El Capitan, и команда subl . перестала работать с сообщением об ошибке zsh: command not found: subl.

Я выполнил следующую команду, как было предложено в других сообщениях:

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

результат:

ln: /usr/local/bin/subl: File exists

в ".bash_profile", а также ".zsh_profile" у меня сохранены следующие строки:

export PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH
export EDITOR='subl -w'

Также пробовал:

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

результат:

ln: /usr/bin/subl: Operation not permitted

Обновление: похоже, это сработало после выполнения следующей команды:

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

но как только я перезапускаю терминал, команда subl . перестает работать.

Обновление 2: после вставки следующей строки: alias subl="'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl'" в команду subl ~/.zshrc, subl . работает даже после перезапуска терминала, но терминал работает медленнее, чем обычно, и когда вы открываете относительно небольшие папки с помощью команды subl ., иногда требуется время, чтобы показать файлы...

Последнее обновление: после запуска sudo rm /usr/local/bin/subl, а затем sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl все работает отлично, спасибо @chris.


person Anvar Turobov    schedule 02.10.2015    source источник
comment
Вы уверены, что .bash_profile читает zsh?   -  person lenz    schedule 02.10.2015
comment
Честно говоря, я бы этого не знал, но у меня есть такие же строки внутри zsh_profile.   -  person Anvar Turobov    schedule 03.10.2015
comment
Ok. Введите echo $PATH в командной строке, чтобы увидеть, есть ли /usr/local/bin в вашей переменной пути.   -  person lenz    schedule 03.10.2015
comment
@lenz, набрал echo $PATH результат: /usr/local/heroku/bin:/Users/anvarturobov/.rbenv/shims:/Users/anvarturobov/.rbenv/shims:/Applications/Postgres.app/Contents/Versions/9.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin   -  person Anvar Turobov    schedule 03.10.2015


Ответы (1)


В El Capitan вам не разрешено писать на /usr/bin, но писать на /usr/local/bin можно. По умолчанию /usr/local/bin также должно быть в вашей переменной пути.

Была такая же проблема. Удаление и повторное создание символической ссылки устранило проблему. Возможно, после обновления текущая символическая ссылка указывает на неправильное место.

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

Или Sublime Text 2 (от – комментарий @simen):

sudo rm /usr/local/bin/subl
sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl 
person chris    schedule 03.10.2015
comment
Спасибо @chris, это сработало. Я удалил export PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH export EDITOR='subl -w' из .bash_profile, а также alias subl="'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl'" из subl ~/.zshrc. Пока все работает хорошо. Спасибо. - person Anvar Turobov; 03.10.2015
comment
@AnvarTurobov Если этот ответ решил вашу проблему, рассмотрите принять его, нажав на галочку/галочку слева от ответа, сделав его зеленым. Это помечает вопрос как разрешенный к вашему удовлетворению и присуждает репутацию как вам, так и человеку, который ответил. - person MattDMo; 05.10.2015
comment
Не забудьте добавить \ 2, если вы используете Sublime Text 2: sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl - person simen; 28.10.2015
comment
Не нужно было делать шаг rm, потому что его не существовало, но в остальном это идеальное решение для меня. Спасибо. - person tscizzle; 17.11.2015