Как добавить ~/bin в свой путь?
У меня возникли проблемы с изменением пути добавления Sublime Text 2. Я добавил каталог ~/bin
и запустил эту команду:
ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
Ссылка subl появляется в ~/bin
. Но мне нужно добавить каталог ~/bin
на мой путь. Я новичок в этом, и я не знаю, где мой путь. Я осмотрелся и обнаружил, что вероятными файлами являются .profile
, .bash_profile
или .bashrc
У меня нет .bash_profile
. В .profile
и .bashrc
я добавил
PATH=$PATH:~/bin/subl
export PATH
Правильно ли это добавить? И если да, где я должен его добавить?
Когда я echo $PATH
, я получаю:
/Users/<username>/.rvm/gems/[email protected]/bin:/Users/<username>/.rvm/gems/[email protected]/bin:/Users/<username>/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/<username>/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Когда я печатаю subl
, я получаю:
-bash: subl: command not found
Спасибо!
p.s. Я ранее устанавливал Macports, который изменил мой файл .profile
. Не уверен, что это связано с этим - теперь я не знаю, как выглядит по умолчанию .profile
.
Ответы
Ответ 1
Я был так же новичком в этом, как и вы, а это значит, что я даже не был уверен, как читать половину материала, связанного с изменением PATH. В конце концов, хотя я нашел способ сделать это, что не требует, чтобы вы поместили subl в .rvm/bin (поскольку это для чего-то еще), но в его соответствующем каталоге, который равен ~/bin.
Перейдите к своему терминалу и введите:
open -a Finder /usr/bin
Это откроет ваш Finder в каталоге /usr/bin. Как только вы откроете новый Finder, перейдите в "Приложения", щелкните правой кнопкой мыши значок "Sublime Text" и перейдите к "Показать содержимое пакета", а затем в "Содержимое", SharedSupport, bin. Скопируйте subl файл и вставьте его в другой Finder, показывающий /usr/bin
Что это! Вы должны использовать команду:
subl . (or subl file.name)
Ответ 2
Прочитайте все комментарии. Вам нужно добавить символическую ссылку в sublime в /usr/local/bin
. Его не требует доступа root. И не нужно создавать другой каталог bin.
Для Sublime Text 2
ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/
Для Sublime Text 3
ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/
Ответ 3
Обновление для zsh
По какой-то причине "~/bin" на моем пути не работал, когда я недавно переключился с bash на zsh/prezto. Я изменил его на "/Users/myusername/bin", и он снова работает отлично. Я буду искать причину и обновить, когда найду его. Прокомментируйте, если у вас есть лучшее решение.
Я знаю, что это старый пост, но я думал, что буду документировать решение для всех, кто пытается следовать инструкциям данным sublimetext для работая с возвышенным из командной строки OSX дословно. Обновление для возвышенного текста 3 Документация Sublime Text 3
1) Создайте в своем домашнем каталоге каталог "bin" "~/"
mkdir ~/bin
2) Создайте символическую ссылку на свое возвышенное текстовое приложение 2 в новом созданном каталоге
ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
Обновление для сайта Sublime Text 3 немного отличается:
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl
3) Следуйте инструкциям Райана Хоффмана о том, как легко добавить к пути в OSX: добавить путь к Mac OSX Добавить вновь созданный "~/bin" на путь, используя его технику. Ваш файл /etc/paths будет выглядеть примерно так, когда вы закончите (обратите внимание на ~/bin в конце):
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
~/bin
4) Откройте новое окно терминала, чтобы начать использовать subl из командной строки.
Ответ 4
Вам не нужно делать PATH=$PATH:~/bin/subl
. Вместо этого PATH=$PATH:~/bin
достаточно. Таким образом, вы сообщаете оболочке посмотреть в ~/bin
для двоичных файлов. С вашей командой вы сказали оболочке заглянуть в "папку" ~/bin/subl
для двоичных файлов, что не работает. Кроме того, вам не нужно добавлять команды в два файла. Добавьте их один раз в свой .bashrc
. Я не эксперт bash
, но я могу порекомендовать читать это сообщение в блоге для дальнейшего объяснения различных файлов автозагрузки.
Ответ 5
Я хотел бы представить альтернативное решение этой проблемы. Используйте каталог уже на вашем пути. Вот так:
$ sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
ТЛ; дг
Я столкнулся с той же проблемой в Yosemite (OS X 10.10), где в новой установке ОС каталог ~/bin не существует и не находится на вашем пути. Однако на вашем пути есть много полезных мест, где вы можете разместить символическую ссылку на Sublime.
Например, вот элементы, находящиеся на моем пути (используйте $ echo $PATH
для получения списка):
/Applications/Postgres.app/Contents/Versions/9.3/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin:/usr/local/bin
/usr/local/mysql/bin
Вы можете легко изменить script, чтобы использовать местоположение уже в своем пути, изменив часть, которая говорит ~/bin/subl
, на /usr/local/bin/subl
Таким образом, выполнение следующей команды выполнит вашу задачу.
$ sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
Ответ 6
Вам нужно сначала создать символическую ссылку на /usr/bin
. Символьная ссылка - или SymLink - является псевдонимом или ярлыком для каталога. Сделайте следующее:
-
Сначала убедитесь, что вы находитесь в своем домашнем каталоге, используя командную строку терминала
cd ~
-
Создайте символическую ссылку в вашем каталоге usr/bin
.
ln -s /usr/bin bin
Где ln
= создать ссылку, -s
= символический, а затем [target diectory]
и [name of link]
-
Проверьте свою новую ссылку
cd bin
Это приведет вас к вашему ~/bin
- то же самое, что и /usr/bin
. ~
указывает, что внутри него скрыт длинный путь.
-
Теперь вернитесь в свою домашнюю папку, чтобы установить команду subl
cd ~
-
Установите инструмент командной строки Sublime Text 2. Я буду использовать sudo
, чтобы обойти все блоки разрешений.
sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl
Вы должны быть хорошими! Протестируйте его, просто введя subl
в качестве командной строки, и он должен запустить Sublime Text 2 из терминала.
Ответ 7
имел такую же задачу и закончил тем, что просто создал файл .bash_profile и добавил прямое указание пути. Работал без инцидентов. Вы можете также проверить Alvin Alexander sample.bash_profile post (http://alvinalexander.com/blog/post/mac-os-x/sample-mac-osx-bashrc-terminal-startup-file) - Я нашел пару других полезных команд, которые я буду добавьте также.
Ответ 8
Простым образом это делается на терминале:
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/bin/subl
Здесь хранится мое Sublime, попробуйте ввести путь к Sublime, потому что ваша версия может отличаться.
subl .
Должно работать нормально.
Ответ 9
Недавно я боролся с этой проблемой. Я понял, что ~
не распространяется на ваш домашний каталог в пути. По крайней мере, это было не для меня.
Это то, что я сделал, чтобы заставить его работать.
export PATH=$PATH:$HOME/bin
Мой subl
был связан из каталога приложения с моим ~/bin
за некоторые последующие инструкции, которые я нашел для brew cask. К сожалению, путь не обновлялся.
Ответ 10
Вот полные инструкции для этого (для Sublime Text 3):
-
Проверьте состояние защиты целостности системы с помощью следующей команды:
$ csrutil status
Если он включен, выполните следующие действия:
-
Загрузитесь в ОС восстановления ОС X, перезапустив машину и удерживая Command + R при запуске.
-
Запустите терминал из меню "Утилиты".
-
Выполните следующую команду:
$ csrutil disable
$ reboot
Это связано с функцией безопасности OS X, называемой Защита целостности системы, которая защитит от несанкционированного доступа к местоположениям и процессам системы. Поэтому, если эта функция включена, вы не сможете изменять содержимое /usr/bin.
-
Создайте символическую ссылку от /usr/bin до ~/bin:
$ sudo ln -s /usr/bin ~/bin
-
Создайте символическую ссылку из инструмента CLI Sublime Text 3 в ~/bin:
$ sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/bin
-
Проверьте его.
$ subl .
Ответ 11
echo $PATH
и используйте один из уже существующего пути. В этом примере "/usr/local/bin"
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
если система возвращает No such file or directory
sudo mkdir /usr/local/bin/
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
проверить, работает ли он
subl
Это для Sublime Text 3.
Ответ 12
после работы со мной. У меня есть Sublime version 3 и размещаю его здесь, если кто-то ищет помощь:
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /bin/subl
Ответ 13
Кажется, что в Yosemite команда на самом деле для Sublime 3, но я могу ошибаться:
ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/