Как я настраивал macOS для веб-разработки и сходил с ума
Почему я вообще полез в мак
Я всю жизнь сидел на Windows и Linux. macOS для меня был тёмным лесом: дорогие компы, странная клавиатура, и вообще «для дизайнеров». Но когда я устроился в контору, где весь отдел разработки сидел на макбуках, пришлось вливаться.
Первый MacBook Air M1 мне выдали на работе. Я думал: ну мак и мак, чем он лучше? Первые две недели я его ненавидел: Cmd вместо Ctrl, нет Delete, окна сворачиваются не как в Windows. Бесило всё.
Потом я начал разбираться и понял — вещь, но только если под себя настроить.
Terminal — это база
Встроенный терминал в macOS — ни о чём. Я сразу поставил iTerm2. Бесплатно, куча настроек, разделение на панели, профили. Первым делом настроил цветовую схему под Solarized Dark — глаза перестали болеть после полуночи.
Дальше — пакетный менеджер. На Linux я привык к apt. На macOS — Homebrew. Ставится одной командой:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Через brew я накатил всё, что нужно: git, node, python, php, nginx, mysql. Работает быстрее, чем я ожидал. Правда, brew иногда ломается после обновления macOS — пришлось запомнить команду brew doctor.
Среда разработки
Перепробовал VS Code, PHPStorm, Sublime. Остановился на VS Code — он легче PHPStorm и гибче Sublime. Расширения под PHP, Python, Docker — встали без проблем.
C Docker на Mac отдельная история. Docker Desktop жрёт как не в себя — 4 GB RAM запросто. Я перешёл на Colima (альтернатива Docker Desktop), он легче и работает через Lima. Ставится через brew:
brew install colima && colima start
Разница в памяти — раза в два. Docker Desktop сжирал 2-3 гига, Colima — около 1-1.5.
Что меня бесит до сих пор
Файловая система case-insensitive по умолчанию. У меня были проекты, где папка называлась Config, а код обращался к config. На Linux работало, на Mac падало с ошибкой. Пришлось создавать case-sensitive том через Дисковую утилиту.
Finder. Он ужасен. До сих пор не могу привыкнуть, что нет «вырезать» для файлов (Cmd+X не работает в Finder, только Cmd+C и Cmd+Option+V). И скрытые файлы по умолчанию не видны — пришлось забить в терминал defaults write com.apple.finder AppleShowAllFiles YES.
Обновления. После каждого мажорного обновления macOS (а они выходят раз в год) что-то отваливается: то brew ломается, то Docker не стартует, то права на папки слетают. Я уже привык выделять день после обновления на починку.
Сравнение с Windows и Linux
Теперь я могу сравнить все три системы для веб-разработки. Linux — идеал. Всё из коробки, пакеты ставятся быстро, Docker нативный. Но на десктопе Linux — это боль с драйверами, звуком и офисом.
Windows — отличный компромисс. WSL2 реально работает, VS Code летает, игры тоже. Но терминал под WSL — это прослойка, которая иногда глючит. Docker Desktop на Windows — ещё то путешествие.
macOS — для тех, у кого есть деньги и кто готов мириться с особенностями. Если у вас MacBook — сидите на нём, не пытайтесь эмитировать Windows. Примите Cmd, забудьте Ctrl. Примите отсутствие Delete, пользуйтесь Fn+Backspace. Mac — это секта, но внутри неё уютно.
Что я рекомендую новичку на Mac
iTerm2 вместо стандартного терминала. Homebrew — обязательно. VS Code — лучший выбор. Colima вместо Docker Desktop. Rectangle (бесплатно) — для управления окнами, чтобы не мышить. AltTab — чтобы переключать окна как в Windows (я так привык).
И главное — не ставьте параллельно Windows через Boot Camp или Parallels. Если вам нужен Windows — купите отдельный ПК или поднимите ВМ на сервере. MacBook для Windows — извращение.
Мой финальный конфиг
Сейчас у меня на MacBook: iTerm2 + zsh + Powerlevel10k, VS Code с Remote-SSH (пишу код локально, запускаю на сервере), Colima для Docker, Homebrew для пакетов. Серверная часть полностью на Linux через SSH. Получилось удобно: клавиатура мака + мощь Ubuntu на удалёнке.
И да, я всё ещё нажимаю Ctrl+C вместо Cmd+C в терминале. Ничего не могу с собой поделать.
Итог
Через полгода я привык. Сейчас мне норм, даже удобно. Но первый месяц был адом.
Расширю рассказ о том, как я настраивал macOS для веб-разработки и что из этого вышло. Почему я вообще полез в мак. Я всю жизнь сидел на Windows и Linux. macOS для меня был тёмным лесом: дорогие компы, странная клавиатура, и вообще «для дизайнеров». Но когда я устроился в контору, где весь отдел разработки сидел на макбуках, пришлось вливаться. Первый MacBook Air M1 мне выдали на работе. Я думал: ну мак и мак, чем он лучше? Первые две недели я его ненавидел: Cmd вместо Ctrl, нет Delete, окна сворачиваются не как в Windows. Бесило всё. Каждая привычка из Linux и Windows работала против меня. Я всерьёз думал написать заявление и попросить рабочую машину на Linux.
Потом я начал разбираться и понял — вещь, но только если под себя настроить. Переломный момент наступил, когда я впервые собрал весь рабочий набор инструментов и ощутил, как быстро всё работает. macOS — это система, которая требует настройки под себя, но после этого становится очень удобной. Как с новым инструментом: сначала непривычно, потом не представляешь жизни без него. Главное — не пытаться повторить Windows-привычки, а принять логику системы. Как только я перестал сравнивать и начал настраивать, всё пошло как по маслу.
Terminal — это база. Встроенный терминал в macOS — ни о чём. Я сразу поставил iTerm2. Бесплатно, куча настроек, разделение на панели, профили. Первым делом настроил цветовую схему под Solarized Dark — глаза перестали болеть после полуночи. iTerm2 — это де-факто стандарт терминала для разработчика на Mac. В нём есть всё: разделение экрана, вкладки, горячие клавиши, мгновенный поиск по истории. Для меня терминал — это рабочее место, и оно должно быть удобным. Полчаса на настройку iTerm2 окупились сторицей. Совет: поставьте сразу, не мучайтесь со встроенным.
Дальше — пакетный менеджер. На Linux я привык к apt. На macOS — Homebrew. Ставится одной командой: /bin/bash -c «$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)». Homebrew — это душа macOS для разработчика. Он даёт то, чего нет в системе по умолчанию: свежие версии софта, простую установку, управление зависимостями. Через brew я накатил всё, что нужно: git, node, python, php, nginx, mysql. Работает быстрее, чем я ожидал. Правда, brew иногда ломается после обновления macOS — пришлось запомнить команду brew doctor. Это первая команда при любых проблемах с пакетами.
Почему brew незаменим. Системный macOS не даёт нормально ставить софт без brew: всё приходится качать вручную или через App Store. Homebrew решает эту проблему полностью: одна команда установки, чистые обновления, понятное управление. Формулы brew покрывают практически весь популярный софт. Для разработчика это разница между «полдня на установку окружения» и «десять минут». Кстати, brew полезен не только для дев-инструментов: через него можно ставить утилиты, ускоряющие повседневную работу. Homebrew — первое, что нужно поставить на свежий Mac.
Среда разработки. Перепробовал VS Code, PHPStorm, Sublime. Остановился на VS Code — он легче PHPStorm и гибче Sublime. Расширения под PHP, Python, Docker — встали без проблем. VS Code на Mac работает отлично: быстро запускается, не ест память, синхронизирует настройки через аккаунт. Для меня важно, чтобы редактор не мешал, а помогал: подсветка, автодополнение, отладка — всё на месте. PHPStorm мощнее для PHP, но он тяжелее. Sublime легче, но беднее функционально. VS Code — золотая середина, которая закрывает все мои задачи. Советую начать с него.
C Docker на Mac отдельная история. Docker Desktop жрёт как не в себя — 4 GB RAM запросто. Я перешёл на Colima (альтернатива Docker Desktop), он легче и работает через Lima. Ставится через brew: brew install colima && colima start. Разница в памяти — раза в два. Docker Desktop сжирал 2-3 гига, Colima — около 1-1.5. На Mac с ограниченной памятью это критично. Docker — необходимый инструмент для разработки, но на Mac он исторически прожорлив. Colima решает эту проблему, не жертвуя функциональностью. Если у вас Mac с 8 GB RAM — Colima это спасение. Проверено на себе.
Что меня бесит до сих пор — файловая система case-insensitive по умолчанию. У меня были проекты, где папка называлась Config, а код обращался к config. На Linux работало, на Mac падало с ошибкой. Пришлось создавать case-sensitive том через Дисковую утилиту. Это классическая проблема: macOS не различает регистр в именах файлов, а Linux различает. Проект, написанный на Linux, может упасть на Mac только из-за регистра букв в пути. Решение — держать рабочие проекты на отдельном case-sensitive томе. Создаётся через Дисковую утилиту за минуту, зато потом никаких сюрпризов.
Finder. Он ужасен. До сих пор не могу привыкнуть, что нет «вырезать» для файлов (Cmd+X не работает в Finder, только Cmd+C и Cmd+Option+V). И скрытые файлы по умолчанию не видны — пришлось забить в терминал defaults write com.apple.finder AppleShowAllFiles YES. Для разработчика Finder — слабое место macOS. Рекомендую сразу включать показ скрытых файлов и установить альтернативный файловый менеджер. Я пользуюсь обычным Finder, но уже настроенным: скрытые файлы видимы, панель инструментов удобная. Всё остальное делаю в терминале. Привычка к терминалу избавляет от многих разочарований в Finder.
Обновления. После каждого мажорного обновления macOS (а они выходят раз в год) что-то отваливается: то brew ломается, то Docker не стартует, то права на папки слетают. Я уже привык выделять день после обновления на починку. Это реальность macOS: мажорные апдейты не всегда аккуратно переносят сторонний софт. Мой совет — не обновляйтесь в первый день релиза, дайте другим «протестировать». И всегда делайте бекап перед обновлением. Через полдня-день возни всё чинится, но лучше быть готовым. Список «что проверить после обновления» у меня сохранён в заметках.
Сравнение с Windows и Linux. Теперь я могу сравнить все три системы для веб-разработки. Linux — идеал. Всё из коробки, пакеты ставятся быстро, Docker нативный. Но на десктопе Linux — это боль с драйверами, звуком и офисом. Windows — отличный компромисс. WSL2 реально работает, VS Code летает, игры тоже. Но терминал под WSL — это прослойка, которая иногда глючит. Docker Desktop на Windows — ещё то путешествие. macOS — для тех, у кого есть деньги и кто готов мириться с особенностями. Каждая система сильна в своём: Linux — серверы, Windows — универсальность, Mac — работа и батарея.
Почему я всё-таки остался на Mac. У MacBook M1 есть неоспоримые плюсы: батарея держит весь день, тишина (нет вентиляторов под нагрузкой), терминал быстрый, клавиатура удобная. Когда я работаю с сервером через SSH — я не замечаю разницы с Linux. А вот комфорт повседневной работы — выше. Если у вас MacBook — сидите на нём, не пытайтесь эмитировать Windows. Примите Cmd, забудьте Ctrl. Примите отсутствие Delete, пользуйтесь Fn+Backspace. Mac — это секта, но внутри неё уютно. Через полгода я привык и теперь не готов вернуться назад.
Что я рекомендую новичку на Mac. iTerm2 вместо стандартного терминала. Homebrew — обязательно. VS Code — лучший выбор. Colima вместо Docker Desktop. Rectangle (бесплатно) — для управления окнами, чтобы не мышить. AltTab — чтобы переключать окна как в Windows (я так привык). И главное — не ставьте параллельно Windows через Boot Camp или Parallels. Если вам нужен Windows — купите отдельный ПК или поднимите ВМ на сервере. MacBook для Windows — извращение. Этот список — результат полугода проб и ошибок. Каждый пункт проверен на себе и реально упрощает жизнь. Начните с него — сэкономите неделю на настройке.
Мой финальный конфиг. Сейчас у меня на MacBook: iTerm2 + zsh + Powerlevel10k, VS Code с Remote-SSH (пишу код локально, запускаю на сервере), Colima для Docker, Homebrew для пакетов. Серверная часть полностью на Linux через SSH. Получилось удобно: клавиатура мака + мощь Ubuntu на удалёнке. Powerlevel10k делает zsh красивым и информативным. Remote-SSH — киллер-фича VS Code: редактируешь код на сервере, как локально. Эта комбинация — лучшее из двух миров. И да, я всё ещё нажимаю Ctrl+C вместо Cmd+C в терминале. Ничего не могу с собой поделать.
Итог. Через полгода я привык. Сейчас мне норм, даже удобно. Но первый месяц был адом. Если вы переходите на Mac — наберитесь терпения на первый месяц, поставьте правильные инструменты, и всё наладится. Не бросайте в первую неделю — это самая тяжёлая. Установите iTerm2, Homebrew, VS Code, Colima — и вы почувствуете разницу. macOS — это система, которая вознаграждает тех, кто настроил её под себя. Дайте себе месяц — и, скорее всего, назад уже не захотите.