- Установка и использование Homebrew на macOS
- Требования
- 1: Работа с терминалом macOS
- 2: Установка инструментов командной строки Xcode
- 3: Установка и настройка Homebrew
- 4: Установка, обновление и удаление пакетов
- 5: Установка настольных приложений
- 6: Удаление Homebrew
- Заключение
- Как установить переменную PATH на моем Mac, чтобы найденные инструменты были установлены?
- 9 ответов
Установка и использование Homebrew на macOS
Интерфейс командной строки – это неграфический способ взаимодействия с компьютером. Вместо того чтобы нажимать кнопки в окнах при помощи мыши, вы можете вводить команды в виде текста и получать обратную связь – тоже в виде текста. Командная строка, также известная как оболочка, позволяет автоматизировать многие задачи, которые вы выполняете ежедневно, и является важным инструментом для разработчиков программного обеспечения.
Интерфейс командной строки macOS имеет множество таких же функций, как в Linux и других системах Unix, однако из коробки у него нет хорошего менеджера пакетов. Менеджер пакетов – это набор программных инструментов, предназначенный для автоматизации установки, настройки и обновления программного обеспечения. Менеджеры пакетов централизованно хранят ПО, которое они устанавливают, и поддерживают все пакеты в системе в широко используемых форматах.
Homebrew – это менеджер пакетов для macOS, который позволяет устанавливать бесплатное программное обеспечение с открытым исходным кодом с помощью терминала. Homebrew можно использовать для установки таких инструментов разработчика, как Python, Ruby, Node.js и др.
В этом мануале мы покажем, как установить Homebrew на Mac и начать работу с ним.
Требования
Для работы вам понадобится компьютер macOS с версией High Sierra+, административным доступом и подключением к Интернету.
1: Работа с терминалом macOS
Чтобы получить доступ к интерфейсу командной строки на вашей машине, используйте приложение Terminal, предоставляемое macOS по умолчанию. Как и любое другое приложение, вы можете найти терминал через поиск, перейдя в папку Applications, а затем в Utilities. Чтобы открыть приложение терминала, дважды кликните по нему. Кроме того, вы можете использовать Spotlight, чтобы найти терминал: удерживайте клавишу COMMAND и нажмите пробел, а затем введите Terminal в появившемся поле.
Примечание: больше полезной информации о работе с командной строкой вы найдете в мануале Основы работы с терминалом Linux. Интерфейс командной строки macOS очень похож.
Терминал запущен, а теперь давайте установим дополнительные инструменты, необходимые Homebrew.
2: Установка инструментов командной строки Xcode
Xcode – это интегрированная среда разработки (IDE), состоящая из инструментов разработки программного обеспечения для macOS. Xcode не понадобится для работы Homebrew, но некоторые программы и компоненты, которые пригодятся вам в будущем, используют пакет инструментов командной строки Xcode.
Выполните следующую команду в терминале, чтобы загрузить и установить необходимые компоненты:
Вам будет предложено начать установку, а затем – принять лицензию. После этого инструменты автоматически загрузятся и установятся.
Теперь вы можете установить Homebrew.
3: Установка и настройка Homebrew
Чтобы установить Homebrew, загрузите сценарий установки, а затем выполните его.
Чтобы загрузить сценарий на локальный компьютер, введите следующую команду в окно терминала:
curl -fsSL -o install.sh https://raw.githubusercontent.com/Homebrew/install/master/install.sh
Команда использует curl для загрузки сценария установки Homebrew из Git репозитория Homebrew на GitHub.
Давайте рассмотрим флаги, связанные с командой curl:
- Флаг -f (или –fail) не дает терминалу выдавать HTML-документ при ошибках сервера.
- Флаг -s (–silent) отключает индикатор выполнения, а в сочетании с флагом -S (–show-error) он заставляет curl выводить сообщение об ошибке в случае сбоя.
- Флаг -L (–location) сообщает curl, что перенаправления нужно обрабатывать. Если сервер говорит, что запрошенная страница перемещена в другое место, команда автоматически выполнит запрос снова, используя новое расположение.
- Флаг -o определяет локальное имя файла.
Прежде чем запустить загруженный из интернета сценарий, рекомендуем просмотреть его содержимое, чтобы точно знать, что он будет делать. Используйте команду less для просмотра:
Когда вы изучите содержание скрипта, выполните его с помощью команды bash:
Сценарий установки объяснит, что он будет делать, и предложит вам подтвердить эти действия. Так вы будете точно знать, что Homebrew собирается сделать с вашей системой, прежде чем вы решите продолжить установку. Кроме того, вы сможете убедиться, что выполнили все предварительные условия, необходимые для установки.
Во время установки вам будет предложено ввести пароль. Однако при этом нажатия клавиш не будут отображаться в окне терминала. Это мера безопасности, которая часто используется при запросе пароля в командной строке. Все нажатия клавиш регистрируются системой, хотя вы их и не видите. После ввода пароля нажмите RETURN.
Каждый раз, когда система будет предлагать подтвердить установку, нажимайте y.
После завершения установки нужно поместить каталог, который Homebrew использует для хранения своих исполняемых файлов, в начало переменной среды PATH. Благодаря этому установки Homebrew будут вызываться через инструменты, которые включает macOS.
Файл, который вам нужно сейчас отредактировать, зависит от того, какую оболочку вы используете. Если вы используете Bash, вам нужен файл
Если же вы используете ZSH, откройте
Когда файл откроется в терминале, добавьте в конец следующие строки:
# Add Homebrew’s executable directory to the front of the PATH
export PATH=/usr/local/bin:$PATH
Первая строка – это комментарий, который поможет вам вспомнить, что делает следующая строка.
Чтобы сохранить изменения, удерживайте клавишу CTRL и O, а при появлении запроса нажмите RETURN. Затем выйдите из редактора, удерживая CTRL и нажав X. Это вернет вас в окно терминала.
Чтобы активировать эти изменения, закройте и снова откройте терминал. Также для загрузки изменений можно использовать команду source.
Если вы изменили .bash_profile, выполните эту команду:
Если вы редактировали .zshrc, выполните команду:
Как только вы это сделаете, изменения, внесенные вами в переменную среды PATH, вступят в силу. Переменная будет правильно настроена даже после завершения этой сессии, поскольку конфигурационный файл для вашей оболочки запускается автоматически при открытии приложения Terminal.
Теперь давайте убедимся в том, что Homebrew настроен правильно. Выполните эту команду:
Если в данный момент никаких обновлений не требуется, вы увидите в своем терминале такое сообщение:
Your system is ready to brew.
В противном случае вы можете получить предупреждение о необходимости запустить другую команду, например, brew update, чтобы обновить установку Homebrew. Следуйте инструкциям на экране, чтобы обновить среду, прежде чем двигаться дальше.
4: Установка, обновление и удаление пакетов
Теперь, когда менеджер пакетов Homebrew установлен, попробуйте использовать его для загрузки пакета tree. Эта команда позволяет увидеть графическое дерево каталогов и доступна через Homebrew.
Установите ее с помощью команды brew install:
brew install tree
Homebrew обновит свой список пакетов, а затем загрузит и установит команду tree:
Updating Homebrew.
==> Downloading https://homebrew.bintray.com/bottles/tree-1.8.0.catalina.bottle.tar.gz
######################################################################## 100.0%
==> Pouring tree-1.8.0.catalina.bottle.tar.gz
🍺 /usr/local/Cellar/tree/1.8.0: 8 files, 117.2KB
По умолчанию Homebrew устанавливает файлы в каталог /usr/local, чтобы они не мешали будущим обновлениям macOS. Убедитесь, что пакет tree установлен, запросив расположение команды с помощью which:
Вывод показывает, что пакет находится в /usr/local/bin:
Запустите команду tree с флагом –version, чтобы увидеть версию установленного пакета:
Версия будет выведена на экран (что также подтвердит, что пакет установлен правильно):
tree v1.8.0 (c) 1996 — 2018 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro
Иногда возникает необходимость обновить существующий пакет. Для этой задачи используйте команду brew upgrade, в которой укажите имя пакета:
brew upgrade tree
Если запустить brew upgrade без дополнительных аргументов, команда обновит все программы и пакеты, которыми управляет Homebrew.
Когда вы устанавливаете новую версию пакета, Homebrew сохраняет старую версию. Через некоторое время вы, возможно, захотите освободить место на диске, удалив эти копии старых версий. Запустите команду brew cleanup, чтобы удалить все старые версии программ, управляемых Homebrew.
Чтобы удалить пакет, которым вы больше не пользуетесь, используйте brew uninstall. Чтобы удалить команду tree, введите:
brew uninstall tree
Вывод покажет, что пакет был удален:
Uninstalling /usr/local/Cellar/tree/1.8.0. (8 files, 117.2KB)
Вы также можете использовать Homebrew для установки приложений для рабочего стола.
5: Установка настольных приложений
Homebrew не ограничивается установкой инструментов командной строки. Homebrew Cask позволяет также устанавливать настольные приложения. Эта функция включена в Homebrew, поэтому дополнительно ничего устанавливать не нужно.
Например, чтобы использовать Homebrew для установки Visual Studio Code, выполните следующую команду:
brew cask install visual-studio-code
Приложение будет установлено:
Updating Homebrew.
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
==> Updated Casks
abstract cacher chirp sipgate-softphone
==> Downloading https://update.code.visualstudio.com/1.48.2/darwin/stable
==> Downloading from https://az764295.vo.msecnd.net/stable/a0479759d6e9ea56afa657e454193f72aef85bd0/VSC
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask ‘visual-studio-code’.
==> Installing Cask visual-studio-code
==> Moving App ‘Visual Studio Code.app’ to ‘/Applications/Visual Studio Code.app’.
==> Linking Binary ‘code’ to ‘/usr/local/bin/code’.
🍺 visual-studio-code was successfully installed!
Вы найдете приложение в папке Applications, как если бы вы установили его вручную.
Чтобы удалить его, используйте brew cask uninstall:
brew cask uninstall visual-studio-code
Homebrew удалит установленное программное обеспечение:
==> Uninstalling Cask visual-studio-code
==> Backing App ‘Visual Studio Code.app’ up to ‘/usr/local/Caskroom/visual-studio-code/1.48.2/Visual St
==> Removing App ‘/Applications/Visual Studio Code.app’.
==> Unlinking Binary ‘/usr/local/bin/code’.
==> Purging files for version 1.48.2 of Cask visual-studio-code
Сначала команда выполнит резервное копирование (на случай сбоя операции удаления); после полного удаления программы резервная копия также будет удалена.
6: Удаление Homebrew
Если вам больше не нужен пакетный менеджер Homebrew, вы можете удалить его с помощью специального сценария.
Загрузите скрипт удаления с помощью curl:
curl -fsSL -o uninstall.sh https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh
Рекомендуем всегда предварительно проверять содержимое загруженных из сети сценариев с помощью команды less:
После проверки сценария запустите его с флагом –help; это выведет на экран различные флаги, которые вы можете использовать со сценарием:
bash uninstall.sh —help
На экране появятся доступные опции:
Homebrew Uninstaller
Usage: uninstall.sh [options] -p, —path=PATH Sets Homebrew prefix. Defaults to /usr/local.
—skip-cache-and-logs
Skips removal of HOMEBREW_CACHE and HOMEBREW_LOGS.
-f, —force Uninstall without prompting.
-q, —quiet Suppress all output.
-d, —dry-run Simulate uninstall but don’t remove anything.
-h, —help Display this message.
Используйте флаг –d, чтобы увидеть действия сценария:
bash uninstall.sh -d
Скрипт покажет список всех файлов, которые он собирается удалить:
Warning: This script would remove:
/Users/brianhogan/Library/Caches/Homebrew/
/Users/brianhogan/Library/Logs/Homebrew/
/usr/local/Caskroom/
/usr/local/Cellar/
/usr/local/bin/brew -> /usr/local/bin/brew
==> Removing Homebrew installation.
Would delete:
.
Если вы готовы удалить все эти файлы, выполните сценарий без флагов:
Эта команда удалит Homebrew и все программы, которые вы установили с его помощью.
Заключение
В этом мануале вы установили Homebrew на свой Mac и попробовали работать с этим менеджером пакетов. Теперь вы можете использовать Homebrew для установки инструментов командной строки, языков программирования и других утилит, которые вам понадобятся для разработки программного обеспечения.
У Homebrew есть много пакетов, которые вы можете установить. Изучите официальный список пакетов, чтобы выбрать необходимые вам программы.
Источник
Как установить переменную PATH на моем Mac, чтобы найденные инструменты были установлены?
Попытка настроить Homebrew на новом Mac (на предыдущих Mac я бы установил пакеты из исходного кода).
Первый пакет, который я пытался установить, был Git:
Установка прошла нормально, но which git по-прежнему отображается в /usr/bin/git , который появился вместе с Lion (я думаю ?). И не тот, что был установлен в /usr/local/bin/git .
Как вы можете видеть /usr/bin по умолчанию до /usr/local/bin в $PATH
Итак, я в замешательстве! Я думал, что точка HomeBrew (и то, что создатели, похоже, хвастаются) заключалась в том, что вам не нужно возиться с переменной $PATH .
Итак, что я сделал не так?
9 ответов
Я нашел этот связанный пост очень полезным. Вместо изменения переменной $PATH просто вы просто отредактируете файл /etc/paths .
Как только я выполнил указания и поместил /usr/local/bin выше /usr/bin , мои проблемы были решены.
- В OS X откройте терминал
- Введите команду: sudo vi /etc/paths
- Введите пароль, если вас попросят.
- Вы увидите список путей. Отредактируйте их так, чтобы путь /usr/local/bin был введен выше пути /usr/bin
- * Сохранить и выйти
- Терминал перезагрузки
Вот как выглядит мой взгляд после того, как я это сделал:
* Для сохранения и завершения введите двоеточие ( : ), затем введите wq (для записи и выхода одновременно), а затем Enter .
Вы также можете открыть файл /etc/paths в графическом текстовом редакторе и отредактировать его таким образом.
Кредит fengd над переполнением стека за его ответ там.
Этот ответ устарел. Предпочитаемое предпочтение Homebrew PATH было таким, как описано, но это уже не так. Тем не менее, подход более общеприменим, поэтому для интереса, я оставляю его.
Homebrew намеренно сохраняет /usr/local/bin после /usr/bin в пути для максимальной совместимости. Реверсирование порядка этих каталогов в PATH путем редактирования /etc/paths означает, что программы all в любой точке системы, независимо от того, как они были запущен, получит версию команды Homebrew. Но некоторые могут особенно ожидать версию Apple, или просто не смогут использовать более новую версию и т. Д.
Как сохранить этот принцип и по-прежнему получить версию, содержащуюся в Homebrew git ? Как говорится, все проблемы могут быть решены с помощью слоя косвенности (за исключением того, что имеется слишком много слоев косвенности). — Или в этом случае, как оказалось, два слоя.
В частности, это было частью моих привычек Unix, чтобы иметь каталог
/bin , который я поставил в начале моего PATH . Это один из первых бит в моем .bashrc :
Это проверяет, содержит ли PATH
/bin , а если нет, добавляет его. При этом вместо выборочного выполнения только управляемый с помощью Homebrew git имеет приоритет над версией системы (вместо каждого двоичного файла с поддержкой Homebrew) и только для ваших сеансов оболочки (вместо всех программ, запущенных из любого места, включая программы GUI), так же просто, как и символическое:
Вы могли symlink /usr/local/Cellar/git/1.8.2.1/bin/git напрямую, но тогда вам придется исправлять свою символическую ссылку каждый раз, когда вы сделал brew upgrade git (прямо или косвенно). Символизируя символическую ссылку на фиксированное местоположение Homebrew, вам не стоит беспокоиться об этом.
Итак, вы добавляете каталог в свой $HOME , чтобы вы могли добавить его PATH , чтобы вы могли символически ссылаться на символическую ссылку, и это устраняет вашу проблему и ставит улыбку на доктора Сьюза. Yo dawg Я старую вам символьную ссылку, поэтому мы помещаем путь в ваш PATH , чтобы вы могли символически ссылаться во время символической ссылки.
Вы не сделали ничего плохого, но, кажется, довольно ясно, что если у вас есть /usr/local/bin в вашем пути до /usr/bin , это конкретная проблема исчезнет. Самое простое исправление — сделать именно это и поместить что-то вроде
/.bash_profile , поэтому все, что устанавливает Homebrew, найдено первым. Именно так я настроил его на своем Mac, и он работал для меня в течение этого долгого времени, однако, YMMV.
Кажется, они полагают, что он будет работать с /usr/local/bin как после /usr/bin , поэтому пока я возможно, испортил мой собственный $PATH , я вижу, где их документации не хватает:
Обратите внимание, что после /usr/local/bin следует поместить /usr/bin потому что некоторые программы ожидают получить системную версию, например, ruby и break, если они получают новую версию Homebrew.
Из Несоответствие между wiki & врач-пивовар # 10738 . Обратите внимание, что в этом документе говорится, «Часто задаваемые вопросы (приведенная выше цитата) относится к настройке PATH для графических приложений; врач (совет поставить /usr/local/bin перед /usr/bin в вашей PATH) относится к настройке PATH для приложений CLI. «
Я не согласен с ответом Джтома. Редактирование файла /etc /paths изменит пути загрузки для всех программ. Это может быть опасно, если системное приложение ожидает найти определенную версию двоичного файла, но находит другую версию, потому что вы отредактировали файл путей. Вместо этого измените переменную пути в
/.bash_profile). Тогда ваш путь загрузки изменится только внутри терминала:
# Добавить приложение homebrew в PATH
export PATH = /путь /в /homebrew /app /bin: $ PATH
Затем перезагрузите bash или source
/.bashrc , и вам хорошо идти. Поскольку путь доморощенного предшествует чему-либо еще, bash загрузит версию, которую вы загрузили с помощью доморощенного.
Как я понимаю, brew не помещает ничего в /usr/local/bin , который сталкивается (имеет то же имя), что и распространенный исполняемый файл Apple. Следовательно, наличие /usr/local/bin в пути до /bin и /usr/bin не должно быть проблемой, потому что там не должно быть именных столкновений. * Однако рассмотрите проблемы с ls и tar и с помощью других агрегаторов пакетов, таких как fink и port (MacPorts ), ниже.
Brew делает одну из двух вещей, которые я знаю об этом, помогая управлять столкновениями имен:
- Brew оставляет несвязанные кеги в подвале. . Чтобы установить материал, варить оставляет инструменты там, где они есть, и создает символические ссылки на эти инструменты в /usr/local/bin . Для инструментов, которые brew не хочет столкновения имен с ним, он не создает символическую ссылку.
- Для многих, если не всех стандартных инструментов, которые также находятся в /bin и /usr/bin , brew , префикс ссылки в /usr/local/bin с помощью «g», чтобы, например, выполнить ls с помощью пивной версии, используйте gls . Просто выполните ls -l в /usr/local/bin и найдите связанные файлы — это те, что brew put там. Примечание. Установленные инструменты brew , к которым должны быть доступны настоящие имена, находятся в /usr/local/Cellar/coreutils/8.21/libexec/gnubin .
Я не помещаю /usr/local/bin в свой путь по двум причинам: эти причины лежат в основе моего ответа.
Чтобы оценить коллизии имен в вашей системе, используйте brew doctor и найдите этот раздел — Вот интересующий вас brew doctor :
Причина, по которой я не ставил инструменты brew , по сути, вовсе не потому, что установлен brew ls и tar не обрабатывают ACL файловой системы должным образом, на самом деле, последний раз, когда я проверил (что было на прошлой неделе), они вообще не обрабатывались . Это БОЛЬШАЯ проблема и вообще ее избежать, а также связанная с этим проблема с конфигурацией страницы man , которая содержит теги вместе с настройкой правильного $PATH , я убеждаюсь, что OSX , особенно те, которые содержатся в /bin и /usr/bin , в первую очередь.
Еще одна причина, по которой я даже не помещаю /usr/local/bin в свой путь, потому что brew не хорошо работает с другими, и fink и port (MacPorts) имеют еще больше поддерживаемых пакетов, которые мне нужны NOW . Например, я могу получить gnome-terminal с помощью fink , но было бы большой труд построить формулу и сделать то же самое с brew , Итак, я сохраняю /sw и /opt в моем поиске $PATH (для fink и port , соответственно) и ссылки на вещи, которые мне нужны из /usr/local/bin , включая gnat , либо изложены, либо я использую bash alias , или я создаю файл setup для совершенно другой среды при написании кода Ada .
Дело в том, что это действительно зависит от того, чтовам нужно и нужно в то время.
Вот пример проблемы ACL, о которой я говорил выше.
С помощью стандартных инструментов OSX :
и с установленными инструментами brew :
и
Вы получите аналогичные результаты с помощью tar , и я не знаю дома многих других инструментов brew , но кто может позволить себе что-то сломать через 6 месяцев из-за проблемы ACL !
Здесь есть множество хороших ответов. Вот мой:
Сохраняет необходимость создания отдельного псевдонима для каждой программы, и в качестве бонуса он оставляет установки по умолчанию доступными, если они вам нужны.
Работает точно так же, если вы используете ZSH; просто отключите bashrc для zshrc . Вы можете отключить my для _ или даже @ для сохранения при вводе.
Вместо того, чтобы вообще возиться с PATH (что в моей истории возвращается, чтобы сжечь меня через несколько месяцев), я добавил псевдоним git в свой каталог zh custom aliases (
/.zshrc /custom /git_alias.zsh).
Я предпочитаю ограничить изменения переменных среды, таких как $PATH , для пользователей, которые действительно хотят изменения. Таким образом, я просто добавляю следующее к
Вы можете выпустить следующую команду в терминале, она добавит домашний каталог пива + /bin в PATH вашего файла инициализации SHELL «rc» (bash, zsh, csh)
echo «export PATH=»‘$PATH:$(brew —prefix)/bin’ >>
Источник