18 сент. 2023
РедактироватьКак правильно установить node.js окружение?
Установка Node.JS
Существует несколько способов установки Node.JS и сложно понять какой из них лучше. В этой статье мы сравним разные способы (прямая установка, системные пакетные менеджеры, nvm, n, nodenv, volta, fnm). TLDR: я предпочитаю использовать fnm
Самый простой вариант установить Node.JS это пойти на nodejs.org и скачать установщик. Но это не лучшая идея. Вариант чуть получше, воспользоваться системным пакетным менеджером(brew
, apt
, dnf
). В обоих случаях нельзя быстро сменить версию Node.JS. Часто актуальный проект требует свежую LTS версию, легаси проект работает под предыдущим LTS, а так же хочется попробовать новые фишки из Current версии.
Самое популярное решение это Node Version Manager nvm
. Но, во-первых, он невероятно медленный. Каждое открытие консоли с установленным nvm
будет занимать до нескольких секунд. Во-вторых, он не поддерживает fish и windows. В-третьих, глобально установленные пакеты прийдётся ставить каждый раз заново, либо нужно прописывать их в специальном файле. n и nodenv имеют примерно те же проблемы.
Следующее решение это Volta. Написано на Rust, а значит должно быть быстрым. Поддерживает fish и даже windows. Глобально установленные библиотеки работают даже после смены версии. Но не поддерживается .nvmrc
/.node-version
файлы, хотя на замену тут предлагается писать версию ноды в package.json
. Ещё из недостатков, поддержка pnpm
находится в экспериментальном режиме.
И наконец Fast Node Manager fnm
. Написан также на Rust. Работает быстро и поддерживает всё что надо. Устанавливается fnm одной командой:
curl -fsSL https://fnm.vercel.app/install | bash
Далее можно установить версию Node.JS которая будет использоваться по умолчанию:
fnm default 18
Теперь можно добавить в проект файл .node-version
с указанием версии Node.JS, которая будет использоваться в этом проекте.
echo 18.17.0 > .node-version
При открытии консоли в папке с проектом, fnm автоматически включит нужную версию Node.JS.
Есть небольшой недостаток, если в проекте указана версия Node.JS которая не установлена, автоматически она не установится, но при открытии консоли отобразится ошибка. Для установки нужной версии нужно будет ввести целых две команды
fnm install
fnm use
Установка pnpm/yarn
Node.JS, начиная с версии 16.13, получил поддержку Corepack. Эта утилита позволяет использовать любой поддерживаемый пакетный менеджер без ручной установки. Всё что нужно сделать, это включить corepack:
corepack enable
После чего при первом использовании pnpm
/yarn
они автоматически установятся и будут работать.