Skip to content
EN
← Все статьи

Node.js скачать и установить: Windows, macOS, Linux и nvm

Монитор с терминалом, где идёт установка пакетов, и редактором кода рядом

Node.js скачать бесплатно и безопасно можно только на официальном сайте nodejs.org: там лежат установщик .msi для Windows, .pkg для macOS и архивы для Linux. Для работы берите ветку LTS, npm ставится вместе с Node.js. После установки откройте новый терминал и проверьте версии командами node -v и npm -v.

Что такое Node.js и npm

Node.js — среда выполнения JavaScript вне браузера. На ней работают серверные приложения, API, боты, сборщики фронтенда (Vite, webpack), линтеры и десятки утилит командной строки. Даже если вы пишете только вёрстку, Node.js почти наверняка понадобится, чтобы собрать проект или запустить локальный сервер разработки.

npm — менеджер пакетов, который входит в официальный дистрибутив. Отдельно «скачать npm» не нужно: установщик с nodejs.org кладёт рядом три команды — node (сама среда), npm (установка пакетов) и npx (запуск пакета без глобальной установки). Исключение — пакеты некоторых дистрибутивов Linux, где npm вынесен в отдельный пакет; об этом ниже.

Какую версию Node.js скачать: LTS или Current

На странице загрузки всегда две линии выпуска. Выбор между ними — главное решение перед установкой.

ПараметрLTS (Long Term Support)Current
Для когоРабочие проекты, серверы, обучение, CIПроверка новых возможностей языка и API
Срок поддержкиДолгий: сначала активная поддержка, затем период только исправлений безопасностиКороткий: до выхода следующей линии
Совместимость пакетовМаксимальная — авторы библиотек тестируют прежде всего на LTSОтдельные пакеты с нативными модулями могут не собраться
Как часто обновлятьМинорные и патч-версии внутри своей линииЧасто, с риском несовместимых изменений
РекомендацияСтавить по умолчаниюСтавить второй версией через менеджер версий

Какие номера сейчас имеют статус LTS, а какие уже сняты с поддержки, смотрите в таблице Node.js Releases: номера меняются каждый год, и конкретная цифра из любой статьи быстро устаревает. Если проект требует определённую версию (например, в package.json есть поле engines или в корне лежит файл .nvmrc), ставьте именно её — удобнее всего через nvm.

Где скачать Node.js: официальный сайт и проверка файла

Единственный первоисточник — nodejs.org/en/download. Там выбираются версия, операционная система и архитектура (x64 или ARM64), а сайт показывает прямую ссылку на установщик или готовую команду для менеджера версий. Зеркала и «сборки с торрентов» не нужны: дистрибутив бесплатный, а подменённый установщик — классический способ заразить машину разработчика.

Рядом с каждым выпуском лежит файл SHASUMS256.txt с контрольными суммами. Сверить скачанный файл можно так:

# Windows, cmd
certutil -hashfile node-v<версия>-x64.msi SHA256

# Windows, PowerShell
Get-FileHash .\node-v<версия>-x64.msi -Algorithm SHA256

# macOS
shasum -a 256 node-v<версия>.pkg

# Linux
sha256sum node-v<версия>-linux-x64.tar.xz

Хэш должен совпасть со строкой для этого файла в SHASUMS256.txt того же выпуска.

Как установить Node.js на Windows 10 и 11

Процедура для Windows 10 и Windows 11 одинаковая. Есть три рабочих способа — от самого простого к самому гибкому.

Официальный установщик .msi

  1. На nodejs.org скачайте Windows Installer (.msi) нужной архитектуры: для большинства ПК — x64, для ноутбуков на Snapdragon — ARM64.
  2. Запустите файл, примите лицензию и оставьте путь по умолчанию C:\Program Files\nodejs\.
  3. На шаге выбора компонентов не отключайте пункты npm и Add to PATH — именно он прописывает node и npm в переменную PATH.
  4. На странице Tools for Native Modules галочку можно не ставить. Она запускает установку Chocolatey, Python и инструментов сборки Visual Studio — это нужно только для пакетов, которые компилируют нативный код. Если такой пакет встретится позже, инструменты можно поставить отдельно.
  5. Нажмите Install, подтвердите запрос контроля учётных записей и дождитесь окончания.
  6. Закройте все открытые окна терминала и откройте новое — старые окна не видят обновлённый PATH.

Через winget в PowerShell или cmd

В Windows 10 и 11 есть встроенный менеджер пакетов winget. Установка LTS одной командой:

winget search OpenJS.NodeJS
winget install OpenJS.NodeJS.LTS

Первая команда покажет доступные пакеты и их идентификаторы — сверьтесь с ней, прежде чем ставить. Обновление потом делается через winget upgrade OpenJS.NodeJS.LTS. Если вы только осваиваете консоль, пригодится наш разбор командной строки Windows.

ZIP-архив без установки

Для машины без прав администратора есть вариант Standalone Binary (.zip). Распакуйте его, например, в C:\Users\<имя>\node и добавьте эту папку в PATH пользователя: «Параметры» → «Система» → «О системе» → «Дополнительные параметры системы» → «Переменные среды» → «Path» → «Изменить» → «Создать». Такой Node.js не обновляется сам и не регистрируется в списке программ.

Как установить Node.js на macOS

На Mac три пути:

  • Установщик .pkg с nodejs.org — двойной щелчок, стандартный мастер установки. Бинарники попадают в /usr/local/bin.
  • Homebrew: brew install node ставит последнюю версию из формулы Homebrew — это не обязательно LTS. Формулы вида node@<номер> ставят конкретную линию, но не добавляются в PATH автоматически: команду для этого Homebrew печатает в конце установки.
  • nvm — если нужно держать несколько версий под разные проекты (подробно ниже). Это самый удобный вариант для разработчика.

Не смешивайте способы: если Node.js стоит и из .pkg, и через Homebrew, и через nvm, команда node будет вести туда, что стоит первым в PATH. Проверить, какой бинарник реально запускается, можно командой which -a node.

Как установить Node.js на Ubuntu и другой Linux

Пакет из репозитория дистрибутива

sudo apt update
sudo apt install nodejs npm
node -v

Это быстро, но версия в стандартных репозиториях Ubuntu и Debian обычно отстаёт от актуальной LTS, а npm идёт отдельным пакетом. Для учебного проекта хватит, для современного фреймворка — часто нет: сборка упадёт с требованием более новой версии.

Репозиторий NodeSource

Проект NodeSource публикует пакеты с актуальными линиями Node.js для Debian, Ubuntu и RHEL-подобных систем. Для Debian/Ubuntu установка LTS выглядит так:

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
node -v
npm -v

Этот пакет уже содержит npm. Перед запуском любого скрипта через curl | bash стоит открыть его в браузере и убедиться, что он делает именно то, что обещает, — это общее правило для серверов.

Для Arch, Fedora и других дистрибутивов Node.js есть в штатных репозиториях (pacman -S nodejs npm, dnf install nodejs). Если вы собираете рабочее окружение с нуля, посмотрите заодно, как установить Git — он понадобится для клонирования проектов и для самой установки nvm вручную.

nvm: как установить несколько версий Node.js

nvm (Node Version Manager) — менеджер версий: ставит любые версии Node.js в домашний каталог пользователя и переключает их одной командой. Он решает сразу две проблемы: разные проекты требуют разных версий, и глобальные пакеты больше не требуют sudo. Важно: для Windows это отдельный проект с похожими, но не одинаковыми командами.

nvm на macOS и Linux

Команду установки копируйте из README репозитория nvm-sh/nvm — в ней указан номер актуальной версии скрипта. Она выглядит так:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.8/install.sh | bash

Скрипт допишет загрузку nvm в ~/.bashrc, ~/.zshrc или ~/.profile. Закройте и снова откройте терминал, затем:

command -v nvm          # должно вывести: nvm
nvm ls-remote --lts     # список LTS-версий
nvm install --lts       # поставить последнюю LTS
nvm use --lts           # переключиться на неё
nvm alias default 'lts/*'  # использовать LTS в новых терминалах
nvm ls                  # что установлено локально
nvm current             # какая версия активна сейчас

Если в корне проекта лежит файл .nvmrc с номером версии, достаточно выполнить nvm install и nvm use без аргументов — nvm прочитает версию из файла.

nvm-windows

Для Windows используется отдельный проект nvm-windows. Перед его установкой удалите Node.js, поставленный через .msi («Параметры» → «Приложения» → «Установленные приложения» → Node.js → «Удалить»), иначе две установки будут конфликтовать за PATH. Затем скачайте из раздела Releases установщик *-setup.exe для своей архитектуры (x64 или arm64) и выполните в новом окне терминала:

nvm version
nvm list available
nvm install lts
nvm list
nvm use <версия из nvm list>
node -v

В nvm-windows 2.x права администратора не нужны: по умолчанию версии переключаются через шимы, без символических ссылок в системном каталоге. Сам установщик запускайте от своей учётной записи, а не от имени администратора. Ссылка и права администратора требовались версиям 1.x.

Сравнение способов установки:

СпособОСНесколько версийНужны права администратораКогда выбирать
Установщик .msi / .pkgWindows, macOSНетДаОдин компьютер, одна версия, быстрый старт
wingetWindowsНетДаУстановка и обновление из консоли, скрипты настройки ПК
HomebrewmacOSОграниченноНетЕсли остальные инструменты тоже из brew
NodeSource / пакет дистрибутиваLinuxНетДаСерверы: одна системная версия для всех пользователей и сервисов
nvm / nvm-windowsВсеДаНет (nvm-windows 2.x — тоже нет)Рабочая машина разработчика с несколькими проектами

Как проверить, установлен ли Node.js

Откройте новый терминал и выполните:

node -v
npm -v
npx -v

Каждая команда должна вывести номер версии, например v… для node. Чтобы узнать, откуда запускается node, используйте:

# cmd
where node

# PowerShell
Get-Command node

# macOS / Linux
which node

Если where node показывает два пути, значит, Node.js установлен дважды (например, через .msi и через nvm-windows) — удалите лишнюю копию. Быстрая проверка, что среда реально исполняет код: node -e "console.log(process.version, process.platform, process.arch)".

Как установить Node.js в VS Code

В VS Code Node.js отдельно не устанавливается: редактор использует тот Node.js, что стоит в системе. Порядок такой: поставить Node.js любым способом выше, полностью закрыть VS Code и открыть заново, затем открыть встроенный терминал (меню Terminal → New Terminal или Ctrl+`) и выполнить node -v. Если в терминале VS Code команда не находится, а в обычном — находится, значит, редактор был открыт до установки и держит старую копию PATH; перезапуск это лечит. Запуск и отладка файлов (node app.js, F5) работают с тем же системным Node.js.

Как обновить Node.js и npm

  • Установщик .msi / .pkg: скачайте новую версию и установите поверх — старая будет заменена.
  • winget: winget upgrade OpenJS.NodeJS.LTS.
  • Homebrew: brew update && brew upgrade node.
  • nvm: nvm install --reinstall-packages-from=current 'lts/*' поставит новую LTS и перенесёт глобальные пакеты.
  • nvm-windows: nvm install lts, затем nvm use на новую версию; глобальные пакеты придётся поставить заново.
  • Только npm: npm install -g npm@latest. При установке через .msi это нужно делать из терминала администратора, потому что npm лежит в C:\Program Files\nodejs\.

После смены мажорной версии удалите в проекте node_modules и выполните npm ci (или npm install, если нет package-lock.json): нативные модули собраны под конкретную версию и со старой сборкой падают с ошибкой вида was compiled against a different Node.js version.

Частые ошибки при установке Node.js

«node» не является внутренней или внешней командой

Полный текст: "node" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. В PowerShell то же самое звучит как Имя "node" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Причина одна — каталога с node.exe нет в PATH текущего окна.

  1. Закройте все окна терминала и редактора и откройте заново. В большинстве случаев этого достаточно.
  2. Проверьте, что файл существует: dir "C:\Program Files\nodejs\node.exe".
  3. Посмотрите PATH: echo %PATH% в cmd или $env:Path -split ';' в PowerShell. Там должен быть C:\Program Files\nodejs\.
  4. Если строки нет — запустите установщик .msi ещё раз, выберите Repair или добавьте путь вручную через «Переменные среды».

npm.ps1: выполнение сценариев отключено в этой системе

В PowerShell команда npm вызывает скрипт npm.ps1, а политика выполнения по умолчанию на клиентских Windows запрещает скрипты. Сообщение: Невозможно загрузить файл C:\Program Files\nodejs\npm.ps1, так как выполнение сценариев отключено в этой системе. Варианты: пользоваться cmd, вызывать npm.cmd вместо npm или разрешить подписанные и локальные скрипты для своей учётной записи:

Get-ExecutionPolicy -List
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

Политика меняется только для текущего пользователя и не требует прав администратора.

EACCES при npm install -g на Linux и macOS

Ошибка EACCES: permission denied при глобальной установке означает, что npm пытается писать в системный каталог (npm config get prefix покажет, в какой). Лечить через sudo npm install -g не нужно: пакет получит права root, а его установочные скрипты выполнятся от root. Правильные варианты — перейти на nvm или сменить каталог глобальных пакетов, как советует документация npm:

mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.profile
source ~/.profile

Список уже установленных глобальных пакетов — npm ls -g --depth=0. Многие утилиты вообще не нужно ставить глобально: npx <пакет> скачает и запустит их на один раз.

Node.js на сервере сайта: прокси, процесс-менеджер и 502

Установить Node.js на VPS — половина дела. Приложение, запущенное командой node server.js в SSH-сессии, умрёт вместе с сессией, не поднимется после перезагрузки и будет висеть на порту 3000 без HTTPS. Рабочая схема из трёх частей:

  1. Системная версия Node.js. На сервере удобнее NodeSource или пакет дистрибутива: nvm ставит Node.js в домашний каталог одного пользователя, и systemd-сервис от другого пользователя его не найдёт.
  2. Процесс-менеджер, который перезапускает упавшее приложение и стартует его при загрузке системы. Это либо systemd, либо pm2.
  3. Обратный прокси — nginx принимает запросы на 80/443, завершает TLS и передаёт их приложению на локальный порт. Как это устроено, подробно разобрано в статье про обратный прокси.

Минимальный unit-файл systemd, например /etc/systemd/system/myapp.service:

[Unit]
Description=My Node.js app
After=network.target

[Service]
Type=simple
User=myapp
WorkingDirectory=/srv/myapp
Environment=NODE_ENV=production
Environment=PORT=3000
ExecStart=/usr/bin/node server.js
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now myapp
sudo systemctl status myapp
journalctl -u myapp -n 50

Путь в ExecStart должен совпадать с выводом which node. Тот же результат через pm2: pm2 start server.js --name myapp, затем pm2 startup (команда напечатает строку, которую нужно выполнить через sudo) и pm2 save, чтобы список процессов восстановился после перезагрузки.

Фрагмент конфигурации nginx:

location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

Проверка и перечитывание: sudo nginx -t && sudo systemctl reload nginx. HTTPS для такого сайта удобно выпустить через certbot — пошагово в инструкции по Let's Encrypt.

Почему после деплоя сайт отдаёт 502

502 Bad Gateway в такой схеме почти всегда значит: nginx работает, а Node.js-приложение не отвечает на порту из proxy_pass. В логе nginx это видно как connect() failed (111: Connection refused) while connecting to upstream. Порядок проверки на сервере:

sudo systemctl status myapp      # или: pm2 status
journalctl -u myapp -n 50        # или: pm2 logs myapp --lines 50
sudo ss -ltnp | grep 3000        # слушает ли кто-то порт
curl -I http://127.0.0.1:3000/   # отвечает ли приложение напрямую
sudo tail -n 50 /var/log/nginx/error.log

Типичные причины: приложение упало при старте после обновления (новая мажорная версия Node.js, не пересобранные node_modules, не заданная переменная окружения), слушает другой порт, чем указано в nginx, или привязано к адресу ::1, когда nginx стучится на 127.0.0.1, — так бывает, если в коде указан хост localhost. Полный разбор остальных сценариев — в статье 502 Bad Gateway: что значит и как починить.

Как проверить сайт на Node.js после запуска

Проверка изнутри сервера (curl на 127.0.0.1) не показывает, что видит посетитель: DNS, прокси, сертификат и редиректы находятся снаружи. После деплоя проверьте сайт извне:

  • Проверка HTTP-заголовков — код ответа и заголовки, которые реально отдаёт сайт: сразу видно 502 или 504 от прокси вместо ответа приложения.
  • Проверка SSL — сертификат, который выдаёт nginx перед приложением: срок действия и соответствие домену.

Частые вопросы

npm устанавливается вместе с Node.js?

Да, если ставить с nodejs.org, через winget, Homebrew, nvm или NodeSource: npm и npx идут в комплекте. Отдельно npm ставится только в дистрибутивах, где он вынесен в свой пакет, например apt install npm в Ubuntu.

Какую версию Node.js скачать новичку?

Последнюю LTS. Её поддерживают почти все пакеты, учебники и фреймворки. Current имеет смысл ставить второй версией через nvm, когда нужна конкретная новая возможность.

Можно ли установить Node.js без прав администратора?

Да: на Windows — ZIP-архив в папку пользователя с добавлением в пользовательский PATH, на macOS и Linux — nvm, который работает целиком в домашнем каталоге.

Как удалить Node.js полностью?

На Windows — через «Установленные приложения», затем удалить папки %AppData%\npm и %LocalAppData%\npm-cache, если они остались. При установке через nvm — nvm uninstall <версия>. Через Homebrew — brew uninstall node.

Node.js работает на Windows 7?

Актуальные версии Node.js Windows 7 не поддерживают. Список поддерживаемых платформ ведётся в файле BUILDING.md репозитория nodejs/node; для старой системы разумнее перенести разработку на более новую ОС или в виртуальную машину.

nvm и NVMe — это одно и то же?

Нет. nvm — менеджер версий Node.js, а NVM Express (NVMe) — интерфейс твердотельных накопителей, к Node.js отношения не имеющий.

Проверьте ваш сайт прямо сейчас

Проверить свой домен →
Другие статьи: Инструменты
Инструменты
Массовая проверка URL: автоматизация мониторинга сайтов
11.03.2026 · 688 просм.
Инструменты
Как дать Claude и Cursor инструменты диагностики сайта
15.06.2026 · 615 просм.
Инструменты
Что такое MCP-сервер и зачем он нужен
15.06.2026 · 430 просм.
Инструменты
Конструкторы сайтов 2026: рейтинг и как потом переехать
21.07.2026 · 226 просм.