Новый компьютер - это здорово 💻🎉 - Это чистый лист. Это быстро. Это здорово ... но в нем отсутствуют все инструменты, на которые я полагаюсь каждый день! Моя работа требует от меня освоения множества инструментов и технологических стеков, поэтому мне нужно установить множество различных инструментов и иметь возможность поддерживать различные среды разработки.
Существующий менеджер пакетов для инструментов CLI
Со временем разработчики загружают инструменты командной строки, как в наши дни люди покупают туалетную бумагу. От maven через tl; dr, остановка на kubectl до tmux. Мы используем все эти маленькие изящные инструменты. Следовательно, установка новой машины иногда может показаться пугающей задачей, но не бойтесь! Для инструментов CLI мы уже давно решили эту проблему с помощью Homebrew, или, как вы, наверное, знаете: brew
(люди, работающие с Windows, вероятно, знают Chocolatey )
Вы можете установить maven, например, запустив: brew install maven
Не бойся! Тот же самый инструмент, который устанавливает инструменты CLI, может установить (почти) все наши приложения!
Brew может больше!
Homebrew использует формулы (или рецепты) для установки необходимых вам инструментов в своем погребе. Однако он может нажать на свои бочки, если вам нужен Slack, Atom, Visual Studio Code, Java, 1Password или SourceTree - хватит каламбуров! Это буквально так же просто, как установить пакет CLI.
Вы, наверное, слышали о бочках или видели, как они пролетали в консоли ... Давайте рассмотрим пример. Допустим, вы хотите установить Firefox с помощью brew. Все, что вам нужно напечатать, это:
brew cask install firefox
Brew обновит свои формулы, найдите приложение, которое вы хотите установить, и сразу же сделайте это.
> brew cask install firefox
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==> Updated Formulae
abcmidi cataclysm contentful-cli llvm logtalk
==> Updated Casks
google-chrome
==> Downloading https://download-installer.cdn.mozilla.net/pub/firefox/releases/
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'firefox'.
==> Installing Cask firefox
==> Moving App 'Firefox.app' to '/Applications/Firefox.app'.
🍺 firefox was successfully installed!
Brew не может установить мое приложение!
> brew cask install xcode
Updating Homebrew...
Error: Cask 'xcode' is unavailable: No Cask with this name exists. Did you mean “swiftformat-for-xcode”?
К сожалению, не в каждом приложении есть рецепт домашнего пивоварения. Однако вы можете просто не знать правильного имени или неправильно написать его. Чтобы перепроверить, есть полезный brew search THE-THING-I'M-LOOKING-FOR
, и пока это не картинки с кошками, вы, скорее всего, добьетесь успеха.
В случае с докером он даже выдаст вам смеси и бочки:
> brew search docker
==> Formulae
docker docker-machine-driver-vmware
docker-clean docker-machine-driver-vultr
docker-completion docker-machine-driver-xhyve
docker-compose docker-machine-nfs
docker-compose-completion docker-machine-parallels
docker-credential-helper docker-slim
docker-credential-helper-ecr docker-squash
docker-gen docker-swarm
docker-ls docker2aci
docker-machine dockerize
docker-machine-completion lazydocker
docker-machine-driver-hyperkit
==> Casks
docker homebrew/cask-versions/docker-edge
Хорошо, мы поняли, но где этот единственный сценарий?
Хорошо ... Я отвлекся насчет варева. Чтобы создать один сценарий setup, он также должен иметь возможность установить сам homebrew. К счастью, это просто и доступно прямо с веб-сайта пивоварни https://brew.sh.
Я объединил все, что упомянул, в образце скрипта, который использую сам:
Это резко сократило время на настройку моей среды (около 25 минут, в зависимости от подключения к Интернету) и упростит задачу в будущем, если я решу перестроить машину.
Возможные улучшения
Вот несколько идей по улучшению:
- Определение всех контейнеров, для которых требуется пароль, и их перемещение в начале упростило бы этот скрипт.
- Дальнейшее улучшение скрипта для выполнения всех дополнительных настроек (рабочий стол, настройки ОС,…)
- Если вы всегда работаете над одними и теми же проектами, создание и выполнение скрипта с помощью git clones и создание всех сред может быть следующим хорошим шагом.
Я надеюсь, что вам интересна эта статья, и, пожалуйста, дайте мне знать, если у вас возникнут какие-либо вопросы.
Ресурсы
- Обзор формул: https://formulae.brew.sh
- Формулы для пакетов CLI: https://formulae.brew.sh/formula/
- Бочки: https://formulae.brew.sh/cask/
Изначально опубликовано в Блоге Скофгара.