Новый компьютер - это здорово 💻🎉 - Это чистый лист. Это быстро. Это здорово ... но в нем отсутствуют все инструменты, на которые я полагаюсь каждый день! Моя работа требует от меня освоения множества инструментов и технологических стеков, поэтому мне нужно установить множество различных инструментов и иметь возможность поддерживать различные среды разработки.

Существующий менеджер пакетов для инструментов 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 и создание всех сред может быть следующим хорошим шагом.

Я надеюсь, что вам интересна эта статья, и, пожалуйста, дайте мне знать, если у вас возникнут какие-либо вопросы.

Ресурсы

Изначально опубликовано в Блоге Скофгара.