WebDesign Master
Курсы

Настройка окружения без WSL

В этом руководстве мы рассмотрим установку и настройку окружения для веб-разработки без использования подсистемы WSL. Инстукции руководства протестированы во всех версиях Windows, включая последнюю. Рекомендации основаны на методичном тестировании окружения и софта в условиях реального рабочего процесса.

1. Установка окружения

Это базовый раздел руководства, в котором мы настроим окружение Node.js, установим и настроим Git (длинна пути, сохранение истории), установим Gulp и необходимые модули.

1.1. Установка Node.js

Скачиваем LTS версию Node.js с официального сайта. В процессе установки никакие параметры установщика не меняем. Все опции - по умолчанию.

1.2. Установка Git

Скачиваем Git for Windows с официального сайта - 64 или 32 битную, в зависимости от разрядности вашей ОС. Если не знаете, что это, скачивайте 64 битную версию. Если будут проблемы, то 32-bit. В процессе установки оставляем все опции по умолчанию, кроме "Git GUI Here" и выбора дефолтной консоли:

Отменить добавление GUI Here в контекстное меню Выбор консоли Git window по умолчанию
Отмена "Git GUI Here" необязательна, однако эта опция используется мной редко и является лишней в контекстном меню. Если данный пункт вам нужен, оставьте.
Выбор консоли Git является обязательным, так как нам нужна тесная интеграция именно с дефолтным терминалом Windows cmd. Рекомендую устанавливать данную опцию, если вы планируете работать с PHP, Python, Ruby и другими инструментами, которые интегрируются в командную оболочку Windows, а это 98% всех кейсов использования консоли. Чуть позже мы рассмотрим и настройку самого терминала, чтобы можно было приемлемо в нем работать.

В любой папке или на рабочем столе кликните правой кнопкой мыши и выберите "Git Bash Here". Давайте настроим длину пути и сохранение истории команд, отображаемую в терминале. Обычно я ограничиваю ее тремя уровнями. Выполняем команду:

nano ~/.bash_profile

Замем вставим в редактор nano, который откроется в терминале данные строки:

PROMPT_COMMAND='history -a'
PROMPT_DIRTRIM=3
Для того, чтобы вставить в терминале скопированный текст, достаточно кликнуть в окне правой кнопкой мыши. Текст вставится.

После чего можно нажать сочетание клавиш Ctrl+X, вводим Y и нажимаем Enter.

1.3. Настройка терминала

При настройке терминала Windows я выбираю следующие параметры:

Открыть настройки терминала Windows:

Настройка терминала Windows cmd

Настройка вставки правым кликом мыши в Windows cmd:

Настройка вставки мышью Windows cmd

Настройка шрифта консоли:

Настройка шрифта Windows cmd

Настройка размера окна терминала (по желанию):

Настройка размера Windows cmd

Настройка непрозрачности окна терминала:

Настройка размера Windows cmd

1.4. Установка Gulp и модулей

В любой папке или на рабочем столе кликните правой кнопкой мыши и выберите "Git Bash Here". Давайте установим Gulp и необходимые модули одной командой:

npm i -g gulp rimraf npm-check-updates

Сразу можно отключить создание файлов package-lock.json в npm:

npm config set package-lock false

А также задать Git Bash как терминал по умолчанию в настройках Visual Studio Code, добавив или заменив строку параметра terminal.integrated.defaultProfile.windows:

	"terminal.integrated.defaultProfile.windows": "Git Bash", // Git Bash by Default
С уроком по настройке Visual Studio Code можно ознакомиться здесь.

1.5. Установка Ruby и Jekyll (опционально)

Данный пункт необязетелен и предназначен для тех, кто использует в своей работе Jekyll или программирует на Ruby.

Скачиваем Ruby+Devkit 3.0.6-1 (x64) или 32 битную, в зависимости от разрядности вашей ОС. Если не знаете, что это, скачивайте 64 битную версию. Если будут проблемы, то 32-bit. Нужна именно версия с Devkit для сборки gem.

Внимание! Здесь важно установить именно версию 3.0.6-1, а не последнюю, так как на данный момент она работает наиболее стабильно. Если на станице загрузок RubyInstaller нет нужной версии, ее можно найти на этой странице.
В процессе установки рекомендую выбрать папку для инсталляции не в корне диска C:\, как предлагает установщик по умолчанию, а в папке вашего пользователя, например: "C:\Users\alex\Ruby30-x64". Все опции при установке - по умолчанию, ничего не трогаем.

После установки откроется терминал Windows с настройкой MSYS2, в котором нам предложат сделать выбор. Просто жмем Enter, ничего не выбираем. В конце также нажимаем Enter:

Установка Ruby в Windows

Перезагружаем терминал. Теперь можно установить Jekyll и необходимые модули:

gem i bundler jekyll jekyll-paginate-v2

2. Интеграция rsync for Windows и настройка SSH

Данный пункт предназначен для тех, кто использует rsync для деплоя и бэкапа.

2.1. Установка rsync в Git Bash

Скачиваем архив с rsync и распаковываем его в папку "C:\Program Files\Git". Распаковать следует именно папку "mingw64", которая находится в папке "rsync", в корень Git:

Установка rsync в Windows

После распаковки rsync уже работает в терминале Git Bash.

Внимание! Не все хостинги поддерживают rsync. Если у вас еще нет хостинга для сайтов или ваш сервер не поддерживает какой-то функционал, рекомендую SpaceWeb. Поддерживает все нужные технологии, в том числе и rsync. Использую для всех своих проектов и клиентских сайтов.

2.2. Настройка SSH ключа для автоматической авторизации

Давайте настроим SSH и синхронизацию с сервером. Если настройка синхронизации вам не требуется, пропускайте данные инструкции. Кликом правой кнопки мыши на рабочем столе или в любой папке откройте Git Bash. Создадим папку "/.ssh" в директории пользователя, установим необходимые права и сгенерируем SSH-ключ:

rm -r ~/.ssh; mkdir -p ~/.ssh; chmod 700 ~/.ssh; cd ~/.ssh; ssh-keygen

Скопируем файл с ключом на ваш рабочий сервер (с вводом пароля, предварительно пишем "yes" на вопрос "Are you sure you want to continue connecting"):

scp -p id_rsa.pub [email protected]:~

Где [email protected] - пользователь и хост вашего сервера.

Подключимся к вашему серверу по SSH (с вводом пароля):

ssh [email protected]

Разместим ключ на сервере (с перманентным удалением ~/.ssh) и завершим сессию:

rm -r ~/.ssh; mkdir -p ~/.ssh; chmod 700 ~/.ssh; cat id_rsa.pub >> ~/.ssh/authorized_keys; chmod 600 ~/.ssh/authorized_keys; rm -f ~/id_rsa.pub; logout

Добавим ssh-add:

eval `ssh-agent -s`; ssh-add

Отлично! Теперь авторизация на сервере будет происходить автоматически, например при использовании rsync или других иснтрументов деплоя.

3. Бэкап с помощью rsync (бонус)

Вы можете настроить бэкап рабочей папки в другое место, например, в папку облака или в папку на внешнем диске с настройкой исключений. Мой пример скрипта .bat для бэкапа:

"%PROGRAMFILES%\Git\bin\sh.exe" -c "rsync -aP --delete --delete-excluded --exclude=Thumbs.db --exclude=.DS_Store --exclude=node_modules ~/Work/ /d/Work/"
pause

Здесь мы выполняем rsync, добавляем в исключения Thumbs.db, .DS_Store, node_modules, package-lock.json - мусорные файлы и огромные массивы модулей, которые бекапить не нужно. Из папки Work, которая находится у меня в папке пользователя, файлы синхронизируются с директорией, которая находится на внешнем диске D. Папку назначения можно настроить на выгрузку в облако. Теперь достаточно запустить файл бэкапа .bat и начнется синхронизация.

Синхронизация происходит за считанные секунды и бэкапятся только те файлы, которые были изменены в процессе работы. После бэкапа мы ставим скрипт на паузу (строка 2), чтобы ознакомиться с файлами, которые были отправлены в бэкап. Вы можете создать свой файл с расширением .bat и настроить свой скрипт с нужными исключениями и параметрами источника и назначения по примеру, приведенному выше.

Премиум уроки от WebDesign Master

Курс по созданию сайта от А до Я на Jekyll

Создание сайта от А до Я. Комплексный курс

Курс по созданию интернет-магазина на OpenCart

Создание современного интернет-магазина от А до Я

Фриланс для начинающих

Я - фрилансер! Базовый курс для начинающих

Разделы руководства:

  • 1.1. Установка Node.js
  • 1.2 Установка Git
  • 1.3. Настройка терминала
  • 1.4. Установка Gulp и модулей
  • 1.5. Установка Ruby и Jekyll
  • 2.1. Установка rsync в Git Bash
  • 2.2. Настройка SSH ключа
  • 3. Настройка бэкапа

Разделы сайта:

  • Курсы
  • Инструменты
  • Веб-дизайн
  • Вёрстка
  • CMS

Полезные ресурсы:

  • Установка WSL и окружения
  • Настройка окружения без WSL
  • Работа с хостингом от А до Я
  • Настройка VS Code
  • Lazy Load Placeholder
  • Документация Gulp
2024 © WebDesign Master