Как установить Node.js и npm на Windows, macOS и Linux
Коротко
Чтобы установить Node.js, скачайте LTS-версию с nodejs.org (на Windows и macOS это обычный установщик) или поставьте её через менеджер версий nvm. npm устанавливается вместе с Node.js, отдельно его ставить ставить не нужно. После установки откройте новый терминал и проверьте командами node -v и npm -v: если обе показывают номер версии, всё готово.
Содержание
- Какую версию Node.js выбрать: LTS или Current
- Установка Node.js на Windows 10 и 11
- Установка Node.js на Ubuntu и другие Linux
- Установка Node.js на macOS
- Установка через nvm: несколько версий на одном компьютере
- Как проверить, что Node.js установлен
- Node.js в VS Code
- Первые команды npm
- Частые ошибки при установке и npm install
- Как обновить или удалить Node.js
Какую версию Node.js выбрать: LTS или Current
Перед тем как установить Node.js, определитесь с веткой. На nodejs.org всегда две кнопки: LTS (Long Term Support, долгая поддержка) и Current (самая свежая). Для работы, учёбы, сборки фронтенда, Vite, React и Laravel Mix берите LTS: в ней исправляют ошибки и уязвимости около трёх лет, а пакеты из npm гарантированно с ней дружат. Current нужна, только если вы хотите попробовать новую возможность языка раньше всех.

Чётные версии (20, 22, 24, 26) становятся LTS примерно через полгода после выхода. Состояние веток на ноябрь 2026 года:
| Версия | Статус | Когда брать |
|---|---|---|
| Node.js 26 | Active LTS с конца октября 2026 | Новые проекты |
| Node.js 24 | Maintenance LTS | Существующие проекты, обновляться без спешки |
| Node.js 22 | Maintenance LTS до апреля 2027 | Только если этого требует проект |
| Node.js 20 и старше | Поддержка закончилась | Обновиться на новую LTS |
Если проект требует конкретную версию (поле engines в package.json или файл .nvmrc), ставьте Node.js через nvm: тогда на одном компьютере уживутся 22, 24 и 26, а переключение займёт секунду.
Установка Node.js на Windows 10 и 11
На Windows есть три удобных способа: установщик MSI с официального сайта, команда winget и nvm-windows. Если вам нужна одна версия и вы не хотите разбираться с менеджерами, выбирайте установщик.
Через установщик с nodejs.org
- Откройте nodejs.org и перейдите в раздел "Download".
- Выберите LTS-версию, систему Windows и архитектуру x64 (для ноутбуков на Snapdragon выберите ARM64), скачайте файл
.msi. - Запустите установщик и нажимайте "Next", путь оставьте по умолчанию:
C:\Program Files\nodejs\. - На экране "Custom Setup" проверьте, что включены пункты "npm package manager" и "Add to PATH".
- Галочку "Automatically install the necessary tools" можно не ставить: она нужна только для сборки нативных модулей (компилятор C++ и Python). Если позже какой-то пакет потребует их, установщик можно запустить повторно.
- Нажмите "Install", подтвердите запрос контроля учётных записей и дождитесь окончания.
- Закройте все открытые окна терминала и VS Code, откройте новое окно и проверьте установку.

Через winget в PowerShell
В Windows 10 (версии 1809 и новее) и Windows 11 уже есть менеджер пакетов winget. Одна команда скачает и поставит LTS-версию, а потом так же её обновит:
# Установить текущую LTS-версию Node.js
winget install OpenJS.NodeJS.LTS
# Обновить позже
winget upgrade OpenJS.NodeJS.LTS
Так удобно ставить Node.js через PowerShell или через терминал на новой машине по списку команд. После установки тоже откройте новое окно терминала: старое не видит обновлённую переменную PATH.
Если команда node не находится
Сообщение ""node" не является внутренней или внешней командой" почти всегда значит, что окно терминала было открыто до установки. Откройте новое. Если не помогло, проверьте PATH: нажмите Win + R, введите sysdm.cpl, откройте "Дополнительно → Переменные среды" и убедитесь, что в переменной Path есть строки C:\Program Files\nodejs\ и %APPDATA%\npm (во второй папке лежат глобальные пакеты). Похожим образом устроен PATH у Composer, подробно о нём в разделе про удаление и переустановку Composer в Windows.
Если PowerShell пишет "Невозможно загрузить файл npm.ps1, так как выполнение сценариев отключено в этой системе", запускайте команды в "Командной строке" (cmd) или в Git Bash, где этого ограничения нет, либо вызывайте npm.cmd вместо npm. Менять политику выполнения сценариев можно только для своего пользователя и только если вы понимаете последствия.
Установка Node.js на Ubuntu и другие Linux
Команда sudo apt install nodejs на Ubuntu работает, но ставит версию из репозитория дистрибутива: она часто отстаёт на одну-две LTS, а npm в ней идёт отдельным пакетом. Для разработки лучше один из двух вариантов ниже.
Репозиторий NodeSource
Компания NodeSource собирает пакеты Node.js для Ubuntu и Debian. Подключаете их репозиторий нужной ветки и ставите пакет через apt как обычно, обновления потом приходят вместе с apt upgrade. Это хороший вариант для сервера, где Node.js нужен всем пользователям системы:
# Подключить репозиторий ветки 26.x (номер замените на нужную LTS)
curl -fsSL https://deb.nodesource.com/setup_26.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
# Установить Node.js вместе с npm
sudo apt install -y nodejs
# Проверить
node -v
npm -v
Скрипт настройки лучше скачать и только потом запустить, как в примере: так можно открыть его в редакторе и посмотреть, что он делает. На Fedora, Rocky Linux и AlmaLinux вместо setup_26.x из deb.nodesource.com используется rpm.nodesource.com, а пакет ставится через dnf install nodejs.
Для разработки на своей машине
На рабочем компьютере с Linux удобнее nvm (о нём ниже): он ставит Node.js в домашнюю папку, не требует sudo и избавляет от ошибки EACCES при npm install -g. Если вы раньше поставили nodejs через apt и хотите перейти на nvm, сначала удалите пакет командой sudo apt remove nodejs npm, чтобы две версии не путались в PATH.
Установка Node.js на macOS
На Mac есть установщик .pkg с nodejs.org: скачайте его для своей архитектуры (Apple Silicon или Intel обычно определяется автоматически), запустите и пройдите шаги. Если у вас уже стоит Homebrew, проще одной командой:
# Последняя версия Node.js
brew install node
# Или конкретная LTS-ветка
brew install node@24
brew link --overwrite node@24
Учтите, что формула node в Homebrew обновляется до самой свежей версии, включая Current. Если нужна именно LTS и стабильность, используйте формулу с номером ветки или nvm.
Установка через nvm: несколько версий на одном компьютере
nvm (Node Version Manager) скачивает любые версии Node.js и переключает их командой. Для macOS и Linux это проект nvm-sh/nvm, для Windows отдельная программа nvm-windows с похожими командами.
nvm на Linux и macOS
# Установить nvm (номер версии сверьте с README проекта на GitHub)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# Перечитать настройки оболочки, чтобы команда nvm появилась
source ~/.bashrc # для zsh: source ~/.zshrc
# Поставить текущую LTS и сделать её версией по умолчанию
nvm install --lts
nvm alias default lts/*
# Поставить ещё одну ветку и переключиться на неё
nvm install 24
nvm use 24
# Посмотреть установленные версии
nvm ls

Актуальную строку установки берите из README на github.com/nvm-sh/nvm: номер в адресе скрипта меняется с выходом новых версий nvm.
nvm-windows
Перед установкой nvm-windows удалите Node.js, поставленный через MSI ("Параметры → Приложения → Установленные приложения → Node.js → Удалить"), иначе две копии будут конфликтовать. Затем:
# Установить nvm-windows
winget install CoreyButler.NVMforWindows
# В новом окне терминала
nvm install lts
nvm list
nvm use 24.11.1 # точный номер из вывода nvm list
Команда nvm use в Windows меняет системную ссылку, поэтому первый раз может попросить права администратора.
Файл .nvmrc в проекте
Положите в корень проекта файл .nvmrc с номером ветки, например 24. Тогда любой участник команды выполнит nvm use без аргументов и получит ту же версию, что и все. В nvm для Linux и macOS также работает nvm install без номера: версия берётся из этого файла.
Как проверить, что Node.js установлен
Откройте новое окно терминала и выполните команды по очереди:
node -v # версия Node.js, например v24.11.1
npm -v # версия npm
npx -v # npx ставится вместе с npm
node -e "console.log(process.platform, process.arch)"
Чтобы узнать, откуда запускается node (полезно, когда версий несколько), используйте where node в Windows и which node в Linux и macOS. Если путь ведёт в ~/.nvm/ или %LOCALAPPDATA%\nvm, работает версия из nvm; если в C:\Program Files\nodejs или /usr/bin, системная.

Node.js в VS Code
Отдельно ставить Node.js "в VS Code" не нужно: редактор использует тот Node.js, что установлен в системе. Порядок такой:
- Установите Node.js любым способом из статьи.
- Полностью закройте VS Code (все окна), иначе он не увидит новый PATH.
- Откройте VS Code и встроенный терминал сочетанием Ctrl + `.
- Выполните
node -v. Номер версии значит, что всё работает. - Для запуска файла откройте его и выполните в терминале
node app.jsили нажмите F5 и выберите "Node.js" в списке отладчиков.
Первые команды npm
npm (Node Package Manager) скачивает библиотеки из реестра npmjs.com и записывает зависимости проекта в package.json. Минимальный набор команд, который нужен каждый день:
| Команда | Что делает |
|---|---|
npm init -y | Создаёт package.json с настройками по умолчанию |
npm install express | Ставит пакет в node_modules и добавляет его в dependencies |
npm install -D vite | Ставит пакет только для разработки (devDependencies) |
npm install | Ставит все зависимости из package.json в скачанном проекте |
npm ci | Чистая установка строго по package-lock.json, для сервера и CI |
npm run dev | Запускает скрипт dev из раздела scripts |
npm install -g pnpm | Ставит программу глобально, команда доступна везде |
npx create-vite@latest | Запускает пакет без глобальной установки |
npm outdated, npm update | Показывает и обновляет устаревшие пакеты |
Что делает npm install на практике: читает package.json, сверяет версии с package-lock.json, скачивает пакеты в папку node_modules и обновляет lock-файл. Папку node_modules не храните в репозитории, добавьте её в .gitignore (как это сделать, показано в шпаргалке по командам Git), а package.json и package-lock.json коммитьте обязательно.
Первый сервер на Node.js
Проверим установку на живом примере. Создайте папку, в ней файл server.js:
// server.js: простой HTTP-сервер без сторонних пакетов
import { createServer } from 'node:http';
const port = 3000;
const server = createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'application/json; charset=utf-8' });
res.end(JSON.stringify({ ok: true, path: req.url, node: process.version }));
});
server.listen(port, () => {
console.log(`Сервер запущен: http://localhost:${port}`);
});
Чтобы работал синтаксис import, выполните npm init -y и добавьте в package.json строку "type": "module". Запустите сервер командой node --watch server.js: флаг --watch сам перезапускает процесс при сохранении файла, nodemon для этого больше не нужен. Откройте в браузере http://localhost:3000/test и увидите JSON с версией Node.js. Остановить сервер можно сочетанием Ctrl + C.

Если вы пишете бэкенд на PHP, а Node.js нужен только для сборки CSS и JS, этого достаточно: npm install и npm run build в папке проекта. Тот же Node.js можно запускать в контейнере рядом с PHP, пример окружения есть в статье про Docker для PHP с Nginx и MySQL.
Частые ошибки при установке и npm install
| Ошибка | Причина | Как исправить |
|---|---|---|
| "node" не является внутренней или внешней командой | Терминал открыт до установки или нет пути в PATH | Открыть новое окно, проверить Path |
npm.ps1 не может быть загружен | Ограничение сценариев PowerShell | Запускать в cmd или Git Bash, вызывать npm.cmd |
EACCES: permission denied при -g | Node.js из apt, глобальная папка принадлежит root | Перейти на nvm, не запускать npm через sudo |
ERESOLVE unable to resolve dependency tree | Конфликт версий peer-зависимостей | Обновить пакеты или временно --legacy-peer-deps |
ETIMEDOUT, ECONNRESET | Сеть, прокси, недоступен реестр | Проверить сеть и настройку npm config get proxy |
Unsupported engine | Проекту нужна другая версия Node.js | Поставить нужную через nvm |
Если npm install не работает и ошибка непонятная, помогает чистая переустановка зависимостей: удалите папку node_modules, выполните npm cache verify и снова npm install. Файл package-lock.json удаляйте только в крайнем случае, потому что после этого версии пакетов могут измениться.
Как обновить или удалить Node.js
- Установщик MSI или pkg: скачайте новую версию с сайта и установите поверх, настройки и глобальные пакеты сохранятся.
- winget:
winget upgrade OpenJS.NodeJS.LTS. - nvm:
nvm install --lts, затемnvm uninstall 22для ненужной ветки. Глобальные пакеты перенесёт ключ--reinstall-packages-from=current. - NodeSource: для перехода на новую ветку запустите скрипт
setup_XX.xс новым номером и выполнитеsudo apt install nodejs. - Удаление в Windows: "Параметры → Приложения → Установленные приложения → Node.js → Удалить", затем вручную удалите папки
%APPDATA%\npmи%LOCALAPPDATA%\npm-cache.
npm обновляется отдельно от Node.js командой npm install -g npm@latest, но обычно достаточно той версии, что пришла с LTS.
Частые вопросы
Как проверить, установлен ли Node.js?
Откройте новое окно терминала и выполните node -v. Если в ответ появился номер вроде v24.11.1, Node.js установлен; сообщение "не является внутренней или внешней командой" значит, что его нет или он не добавлен в PATH.
Нужно ли устанавливать npm отдельно?
Нет. npm и npx входят в установщик Node.js и в версии, поставленные через nvm. Отдельный пакет npm нужен только при установке Node.js из стандартного репозитория Ubuntu.
Какую версию Node.js ставить в ноябре 2026 года?
Для новых проектов берите актуальную Active LTS (ветка 26), для существующих подойдёт и 24-я, которая ещё поддерживается. Current-версии оставьте для экспериментов.
Как установить Node.js через терминал в Windows?
Выполните в PowerShell или cmd команду winget install OpenJS.NodeJS.LTS, затем откройте новое окно терминала и проверьте node -v.
Как установить Node.js на Ubuntu последней версии?
Подключите репозиторий NodeSource нужной ветки и выполните sudo apt install nodejs или поставьте nvm и выполните nvm install --lts. Пакет из стандартного репозитория Ubuntu обычно устаревший.
Почему VS Code не видит node после установки?
VS Code читает PATH при запуске. Закройте все его окна и откройте заново, после этого node -v во встроенном терминале заработает.



