TL;DR: homebrew это пакетный менеджер для Mac OS X аналогичный yum (CentOS) или apt-get/aptitude (Debian).
Если в Linux мы ставим ПО следующим образом:
CentOS - yum install htop Debian - apt-get install htop
То с brew будет возможность ставить ПО через терминал:
brew install htop
Почему именно homebrew, а не Macports или Fink? Потому-что стильно-модно-молодежно.
Brew vs Fink vs Macports
P.S. brew это самогон.
Бонус - http://rudix.org, готовые пакеты для Mac.
Как обновить сразу всё
function update-all { # update cli homebrew brew update brew upgrade brew prune brew cleanup # Homebrew cask brew cu -a -y --cleanup brew cleanup --force -s && rm -rf $(brew --cache) # Node npm update -g # Apple App store mas upgrade softwareupdate --install --all }
Помимо самого brew необходимы
Как два байта переслать.
Вначале необходимо установить т.н. инструменты командной строки для разработчиков (Command Line Tools).
Для этого ставим Xcode из Mac App Store или скачиваем с сайта developer.apple.com
4,4 GiB Xcode vs 160 MiB Command Line Tools, выбор очевиден.
Либо ничего не скачиваем, а просто в terminal выполняем
$ xcode-select --install
Смотрим версию
$ xcode-select -v xcode-select version 2343.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Теперь можно расслабиться и откинуться на спинку кресла.
FIXED Нельзя, т.к. это Мак и здесь не надо ждать целый час пока что-то произойдет.
Для удаления
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"
Съешь еще этих сочных берез, да выпей самогона! *brew разные нужны, *brew разные важны.
Команда | Описание |
---|---|
brew update | Обновить brew |
brew list | Список установленного ПО через brew |
brew uninstall htop | Удалить программу |
brew outdated | Проверить обновление для программ установленных через brew |
brew upgrade | Обновить все программы |
brew pin htop | Если нужно обновить всё кроме определенной программы |
brew upgrade htop | Обновить только программу htop |
brew remove –force $(brew list –formula) UPD brew list | xargs brew uninstall –force brew list –cask |
brew remove –force $(brew list)
brew remove –force $(brew list) –ignore-dependencies | Удалить все установленные пакеты |
brew cleanup | После при желании можно удалить скаченные архивы |
У Homebrew довольно интересная пивоваренная терминология. раздел будет обновлен
via http://paul.elms.pro/blog/2015/09/28/brew-services/
brew tap homebrew/services brew update # справка по использованию brew services # запускаем сервис (будет загружаться после логина пользователя) brew service start redis # останавливаем сервис brew service stop redis # запускаем сервис через sudo (будет запускаться без логина пользователя и с правами root) sudo brew service start openvpn
Установить nmap из исходных кодов
$ brew install --build-from-source nmap
Переустановить/собрать все программы установленные через brew
$ brew list | xargs brew reinstall --build-from-source
При запуске brew doctor появляется сообщение Error: /usr/local must be writable!
Чиним
sudo chown -R $(whoami) /usr/local
dx-mac:~ dx$ mtr -bash: mtr: command not found dx-mac:~ dx$ sudo mtr sudo: mtr: command not found
При этом если указывать полный путь к бинарнику, то успешно запускается
sudo /usr/local/sbin/mtr
поэтому делаем
echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile
и чтобы не перелогиниваться применяем сразу изменения
source $HOME/.bash_profile
Бонус. Избавляемся от ошибки mtr: unable to get raw sockets.
chmod 4755 /usr/local/sbin/mtr sudo chown root /usr/local/sbin/mtr
UPD Не работает в Sierra.
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
Что делать
xcode-select --install
Must have программы по отзывам маководов
добавить список
Мой brew список
Примеры использования
Скачать видео без опций
$ youtube-dl [url]
Смотрим доступные форматы и качество
$ youtube-dl -F https://www.youtube.com/watch?v=JAB3OJMLb4I [youtube] JAB3OJMLb4I: Downloading webpage [youtube] JAB3OJMLb4I: Downloading video info webpage [youtube] JAB3OJMLb4I: Extracting video information [youtube] JAB3OJMLb4I: Downloading MPD manifest [info] Available formats for JAB3OJMLb4I: format code extension resolution note 140 m4a audio only DASH audio 128k , m4a_dash container, mp4a.40.2@128k (44100Hz), 8.74MiB 171 webm audio only DASH audio 143k , vorbis@128k (44100Hz), 9.18MiB 278 webm 256x144 DASH video 111k , webm container, vp9, 1fps, video only, 6.54MiB 160 mp4 256x144 DASH video 112k , avc1.4d400c, 12fps, video only, 7.44MiB 133 mp4 426x240 DASH video 248k , avc1.4d4015, 25fps, video only, 16.72MiB 242 webm 426x240 DASH video 275k , vp9, 1fps, video only, 13.28MiB 243 webm 640x360 DASH video 487k , vp9, 1fps, video only, 25.66MiB 134 mp4 640x360 DASH video 631k , avc1.4d401e, 25fps, video only, 41.28MiB 244 webm 854x480 DASH video 856k , vp9, 1fps, video only, 49.89MiB 135 mp4 854x480 DASH video 1153k , avc1.4d401e, 25fps, video only, 75.69MiB 247 webm 1280x720 DASH video 1858k , vp9, 1fps, video only, 101.86MiB 136 mp4 1280x720 DASH video 2293k , avc1.4d401f, 25fps, video only, 150.02MiB 248 webm 1920x1080 DASH video 3008k , vp9, 1fps, video only, 155.80MiB 137 mp4 1920x1080 DASH video 4239k , avc1.640028, 25fps, video only, 278.46MiB 17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k 36 3gp 320x180 small , mp4v.20.3, mp4a.40.2 43 webm 640x360 medium , vp8.0, vorbis@128k 18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k 22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)
Чтобы скачать видео 1280x720 hd720 под номером 22 используем ключ -f
$ youtube-dl -f 22 https://www.youtube.com/watch?v=JAB3OJMLb4I
Чтобы скачать плейлист достаточно просто указать ссылку
$ youtube-dl https://www.youtube.com/playlist?list=PLKP0pmm7wiTcmo5MPbFSZRnZYGGgj60M7
Скачиваем плейлист с дополнительными опциями
$ youtube-dl -Acfit 22 https://www.youtube.com/playlist?list=PLKP0pmm7wiTcmo5MPbFSZRnZYGGgj60M7
где
Deprecated! Make sure you are not using -o with any of these options -t, –title, –id, -A or –auto-number set in command line or in a configuration file. Remove the latter if any.
Если появится ошибка
WARNING: You have requested multiple formats but ffmpeg or avconv are not installed. The formats won't be merged.WARNING: Requested formats are incompatible for merge and will be merged into mkv.
То ставим пакет ffmpeg
brew install ffmpeg
upd dec 2019 | Если появится ошибка
zsh: no matches found: {video URL}
добавить скобки
youtube-dl 'URL'
актуально для macOS 10.15.2/zsh 5.7.1