Сегодня я получил свой новый MacBook и начал устанавливать приложения и программное обеспечение для локальной разработки.
Мой типичный стек разработки основан на PHP и JavaScript, но я изучаю также Go Lang и Rust.
Я являюсь пользователем macOS уже десять лет, и у меня есть свой список программ, но, начиная с нуля, я могу спросить себя, стоит ли мне пересмотреть свой список программ. Например, в самом начале я использовал Terminal.app в качестве консольного приложения, затем перешел на iTerm2 (и он великолепен), но я хотел бы выяснить, является ли он по-прежнему лучшим вариантом сегодня, в 2022 году.
Я хотел бы поделиться первыми приложениями или первыми шагами, которые я сделал с моим новым MacBook.
- Оглавление
- Обновление операционной системы
- Установите браузер Brave Browser
- Установите HomeBrew
- Установите Git
- Установите новый Терминал: Warp
- Расширение оболочки: Установите Oh My Zsh
- Редактор: Visual Studio Code
- Шрифт: JetBrains Mono
- Установка Node через NVM
- Установка PHP 8.1 через Homebrew
- Менеджер пакетов PHP: Composer
- Обслуживание ваших веб-проектов с помощью Valet
- Управление репозиториями Git: GitHub Desktop
- Обратная связь
Оглавление
- Операционная система: Обновление операционной системы
- Браузер: Brave
- Управление пакетами/приложениями: Homebrew
- Git/Управление исходным кодом: Git
- Консоль/терминальное приложение: Warp
- Расширение оболочки: Oh My Zsh
- Редактор: Visual Studio Code
- Шрифт: JetBrains Mono
- Менеджер версий Node: NVM и Node 18
- PHP 8.1
- Менеджер пакетов PHP: Composer
- Обслуживание ваших локальных веб-проектов: Valet
- Управление репозиториями Git: GitHub Desktop
Обновление операционной системы
В “Системных предпочтениях” есть раздел “Обновление программного обеспечения”.
Убедитесь, что ваша операционная система обновлена.
Установите браузер Brave Browser
Это личный выбор. Кто-то предпочитает Safari, кто-то – Mozilla Firefox. Лично я использую Chrome только потому, что я лучше знаком с “Инструментами разработчика”.
В последние недели я пробую Brave, потому что он разработан с учетом конфиденциальности конечного пользователя. Под капотом он использует Chromium, то есть тот же движок, что и Google Chrome.
Веб-сайт: https://brave.com/
Установите HomeBrew
Я советую как можно скорее установить Homebrew, потому что он помогает с некоторыми зависимостями (например, он автоматически устанавливает инструменты командной строки Xcode).
Инструменты командной строки Xcode являются самыми необходимыми утилитами для разработки программного обеспечения.
И это очень полезно в дальнейшем для установки PHP и некоторых других инструментов, таких как веб-сервер и т.д.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
При выполнении команды будет запрошен пароль администратора. Вам необходимо ввести пароль.
После установки Homebrew вам необходимо правильно настроить переменные окружения:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
Сайт: https://brew.sh/
Если вам нужно немного “вдохновения” по поводу того, какие пакеты/приложения вы хотели бы добавить на свой новый Macbook, Джеймс предложил мне взглянуть на его Brewfile. Поэтому я хочу поделиться им и с вами https://github.com/jwtodd/miscellany/blob/develop/Brewfile.
Reference: https://twitter.com/jwtodd/status/1531529092998176768
Установите Git
Первый пакет, который я установил с HomeBrew, это Git. Почему? Git уже включен в Xcode Command Line Tools, но я предпочел установить Git, поставляемый с HomeBrew, он наиболее обновлен. Это личный выбор, но если вы хотите, чтобы команда Git постоянно обновлялась, возможно, вам стоит установить версию HomeBrew.
brew install git
Установите новый Терминал: Warp
Для консольного приложения на моем предыдущем MacBook я использовал iTerm2. Это отличное приложение, но один мой друг из Twitter посоветовал Warp.
Поэтому я решил попробовать установить Warp.
Веб-сайт: https://www.warp.dev/
Расширение оболочки: Установите Oh My Zsh
Вероятно, если вы используете новую версию macOS Monterey (12), у вас по умолчанию установлена оболочка zsh. Существует замечательный проект Oh My Zsh, который расширяет функциональность zsh, предоставляя некоторые функции, помощники и конфигурации.
Чтобы установить Oh My Zsh, выполните следующие действия:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Веб-сайт: https://ohmyz.sh/
Редактор: Visual Studio Code
Одним из самых популярных редакторов является Visual Studio Code.
Сайт: https://code.visualstudio.com/
Шрифт: JetBrains Mono
Я предлагаю вам скачать и установить шрифт фиксированной ширины, например, https://www.jetbrains.com/lp/mono/.
Возвращаясь к конфигурации Visual Studio Code, моя типичная настройка для шрифтов следующая:
{
"workbench.colorTheme": "Default Light+",
"editor.fontFamily": "JetBrains Mono, Menlo, Monaco, 'Courier New', monospace",
"editor.fontSize": 18,
"editor.lineHeight": 1.6
}
Веб-сайт: https://www.jetbrains.com/lp/mono/
Установка Node через NVM
Обычно я использую Node Version Manager для установки нескольких версий Node. Потому что в некоторых проектах вам нужен Node 16, в других – Node 14 и так далее.
Чтобы установить NVM (менеджер версий):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Теперь, когда у вас есть менеджер версий, вам нужно перезагрузить оболочку, и тогда вы сможете установить последнюю версию Node:
nvm install node
Теперь вы можете использовать последнюю версию Node.
Веб-сайт: https://github.com/nvm-sh/nvm
Установка PHP 8.1 через Homebrew
Я предлагаю установить PHP через Homebrew, потому что Homebrew отлично подходит для управления зависимостями, необходимыми для PHP, и полезен, например, если вы хотите установить PHP-модуль. Установка PHP с помощью команды brew:
brew install php
Будет установлена последняя версия PHP (8. 1) с некоторыми зависимостями, такими как: apr, ca-certificates, openssl, apr-util, argon2, aspell, m4, autoconf, brotli, gettext, libunistring, libidn2, libnghttp2, libssh2, openldap, rtmpdump, zstd, curl, libtool, unixodbc, freetds, libpng, freetype, fontconfig, jpeg, giflib, imath, openexr, libtiff, webp, jpeg-xl, libvmaf, aom, libavif, gd, gmp, icu4c, krb5, libpq, libsodium, libzip, oniguruma, pcre2, readline, sqlite и tidy-html5.
Модуль PHP (для Apache) находится в: /opt/homebrew/opt/php/lib/httpd/modules/libphp.so.
Ini файлы для PHP находятся в:
/opt/homebrew/etc/php/8.1/
Веб-сайт: https://www.php.net/
Менеджер пакетов PHP: Composer
Я предлагаю вам установить “стандартный де-факто” менеджер пакетов для PHP под названием Composer. Я предлагаю установить его глобально, в глобальную директорию.
- как скачать Composer: https://getcomposer.org/download/
- как установить Composer глобально: https://getcomposer.org/doc/00-intro.md#globally
Если вы копируете бинарный файл composer в /usr/local/bin, не забудьте:
- проверить, существует ли каталог bin в /usr/local (если нет, создайте его с помощью
sudo mkdir -p /usr/local/bin
- переместить бинарный файл
sudo mv composer.phar /usr/local/bin/composer
- добавьте /usr/local/bin в ваше окружение PATH. Например, добавление в ~/.zshrc
export PATH=$PATH:/usr/local/bin/
Обслуживание ваших веб-проектов с помощью Valet
Если вы являетесь веб-разработчиком, вероятно, у вас есть несколько проектов на локальной машине, и вы хотите открыть их через HTTP, например:
- Проект 1, хранящийся в каталоге Sites/project1, обслуживаемый локально как http://project1.test.
- Проект 2, хранится в каталоге Sites/project2, обслуживается локально как http://project2.test
- Проект 3, хранится в каталоге Sites/project3, обслуживается локально как http://project3.test.
- …
Для этого необходимо правильно настроить веб-сервер (Nginx) и инструмент для разрешения локальных имен хостов (dnsmasq).
Valet – это инструмент, который может сделать все это за нас.
Valet настроит и установит для вас такие инструменты, как:
- Веб-сервер: Nginx для обслуживания файлов
- PHP / PHP-FPM: вы уже установили PHP из предыдущих шагов, но Valet настроит PHP для использования с Nginx через FPM.
- Dnsmasq: для локального разрешения имен ваших локальных доменов *.test (project1.test, project2.test и т.д.).
composer global require laravel/valet
export PATH=$PATH:~/.composer/vendor/bin
valet install
Теперь вы можете указать Valet для обслуживания всех каталогов, входящих в определенный каталог. В моем случае у меня есть каталог Sites, в котором находятся все мои проекты.
mkdir Sites
cd Sites/
valet park
Итак, если у вас есть каталог Sites/mysite, то благодаря Valet (который использует dnsmasq и nginx под капотом) имя хоста http://mysite.test будет открыто локально.
Valet более мощный, чем это, вы можете открыть HTTPS, вы можете быть более гибкими в конфигурации вашей директории (не ограничиваясь директорией Sites) и т.д.
Сайт: https://laravel.com/docs/9.x/valet
Управление репозиториями Git: GitHub Desktop
Я в основном использую GitHub для своих сторонних проектов с открытым исходным кодом.
Я использую git в командной строке. Но иногда мне хотелось бы иметь графический интерфейс для некоторых операций. В прошлом (очень далеком) я использовал GitX, в последние 2 года я использую GitHub Desktop (но вы можете использовать его с git-репозиторием вообще, как Gitlab или Bitbucket).
Сайт: https://desktop.github.com/
Обратная связь
Я знаю, что это лишь первый, начальный список более широкого набора инструментов, необходимых разработчику. Но если вы считаете, что я упустил какие-то очень важные инструменты, пожалуйста, сообщите мне об этом в комментариях!
Я буду очень рад попробовать и добавить их в этот список.
Спасибо!