Skip to content

Среда разработки на Windows: PHP и Node.js

Когда мы разобрались с терминалом, пора приступить к настройке инструментов, используемых при работе над проектом. Я, в основном, работаю на стеках с PHP и Node.js, поэтому в данном посте рассмотрим их установку и настройку.

PHP и Composer

Мы будем использовать Docker для запуска наших веб-приложений, так что нам не потребуется устанавливать какой-либо веб-сервер. Но нам по прежнему требуется исполняемый файл для интеграции с текстовым редактором или для того, чтобы мы могли выполнять команды в консоли.

Поэтому мы просто установим php-cli и основные расширения:

sudo apt install -y \
	php7.2-cli \
	php-pear \
	php-fpm \
	php-dev \
	php-zip \
	php-curl \
	php-xmlrpc \
	php-gd \
	php-mysql \
	php-mbstring \
	php-xml

Так же установим пакетный менеджер для PHP — Composer:

EXPECTED_COMPOSER_SIGNATURE=$(wget -q -O - https://composer.github.io/installer.sig) && \
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
php -r "if (hash_file('SHA384', 'composer-setup.php') === '${EXPECTED_COMPOSER_SIGNATURE}') { echo 'Composer.phar Installer verified'; } else { echo 'Composer.phar Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" && \
php composer-setup.php --install-dir=/usr/bin --filename=composer && \
php -r "unlink('composer-setup.php');"
chmod +x composer.phar
sudo mv composer.phar /usr/local/bin/composer

Для лучшей производительности Composer установим плагин hirak/prestissimo. Он позволяет устанавливать несколько пакетов параллельно:

composer global require hirak/prestissimo

Вот так вот. У нас есть консольный PHP. Переходим к Node.js.

Node.js и NPM

Node.js является неотъемлемой часть рабочего окружения современного веб-разработчика. Платформа Node.js открывает нам широкие возможности выполнения JavaScript кода вне браузера, например, с его помощью мы можем писать бэкенд веб-приложений. То же самое касается и фронтенда: сборка статики, управление зависимостями и прочее не обходится без Node.js. Даже если вы пишете на другом языке программирования, вы найдете полезными различные cli-инструменты, как, prettier, browser-sync, localtunnel, tldr, fkill-cli и др.

Node.js. Node.js is everywhere

Устанавливая Node.js на Linux следует учесть, что в репозиториях дистрибутивов находится старая версия, которая с давних пор не обновляется. Способы установки актуальной версии Node.js перечислены в официальной документации.

Примечание. Я не рекомендую использовать nvm для установки Node.js в WSL, потому что в моем случае это сильно задерживало старт консоли.

Для установки Node.js на WSL нам необходимо использовать репозиторий от NodeSource нужной нам версии (LTS, на момент написания поста это 10.x.x):

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

Следом поменяем директорию установки глобальных пакетов, чтобы не приходилось использовать sudo:

# Создаем директорию для установки глобальных пакетов
mkdir ~/.npm-global

# Указываем ее в конфиге npm
npm config set prefix '~/.npm-global'

# Добавляем npm команды в PATH
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc

Укажем еще пару настроек в конфиг NPM, специфичных WSL, и можно установить нужные вам пакеты глобально:

npm config set scripts-prepend-node-path true
npm config set unsafe-perm true

npm install -g \
	browser-sync \
	prettier \
	yo

Не забудем и про NPX. Подключим автофолбэк для прямого вызова команд из пакетов NPM:

# NPX auto fallback
source <(npx --shell-auto-fallback zsh)

Вместо заключения

Спасибо, что дочитали до конца. Надеюсь, информация из данного поста была вам полезна. До встречи в следующих постах серии.

Данная запись является частью серии "Среда разработки на Windows".

Среда разработки на Windows: ZSH и Cmder

Среда разработки на Windows: Docker