> For the complete documentation index, see [llms.txt](https://utm-1.gitbook.io/utm-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://utm-1.gitbook.io/utm-docs/dokumentaciya/utm-it/programmnoe-obespechenie/rabochie-stancii-windows/po-dlya-razrabotki-na-node.js/node.js.md).

# Node.js

## Ссылки

Установите Node.js на подсистему Windows для Linux (WSL2): [learn.microsoft.com](https://learn.microsoft.com/ru-ru/windows/dev-environment/javascript/nodejs-on-wsl)

Руководство по Node.js для начинающих: [learn.microsoft.com](https://learn.microsoft.com/ru-ru/windows/dev-environment/javascript/nodejs-beginners-tutorial)

Полное руководство по Node.js — Изучите Node для начинающих: [nodejsdev.ru](https://nodejsdev.ru/guides/freecodecamp/)

Движок Pug: [nodejsdev.ru](https://nodejsdev.ru/guides/metanit/express-pug/)

Руководство по языку Node.js: [docs.docker.com](https://docs.docker.com/guides/nodejs/)

## Предварительные условия

На Windows компьютере разработчика рекомендуется вести разработку в Node.js на WSL.

Для этого предварительно должен быть установлен и настроен [WSL](/utm-docs/dokumentaciya/utm-it/programmnoe-obespechenie/rabochie-stancii-windows/po-razrabotchika/wsl.md).

Также на компьютере разработчика должен быть установлен [VS Code](/utm-docs/dokumentaciya/utm-it/programmnoe-obespechenie/rabochie-stancii-windows/po-razrabotchika/vs-code.md) и плагин [Remote Development](/utm-docs/dokumentaciya/utm-it/programmnoe-obespechenie/rabochie-stancii-windows/po-razrabotchika/vs-code/vs-code.-obshie-plaginy.md#remote-development)

## Установка nvm, node.js  и npm <a href="#install-nvm-nodejs-and-npm" id="install-nvm-nodejs-and-npm"></a>

{% hint style="info" %}
**Важно**

Перед установкой диспетчера версий рекомендуется удалить все существующие установки Node.js или npm из операционной системы, так как различные типы установки могут привести к странным и запутанным конфликтам. Например, версия Node, которую можно установить с помощью команды `apt-get` Ubuntu, в настоящее время устарела. Сведения об удалении предыдущих установок см. в статье [Как удалить nodejs из ubuntu](https://askubuntu.com/questions/786015/how-to-remove-nodejs-from-ubuntu-16-04).)
{% endhint %}

Актуальную информацию об установке NVM смотрите в разделе [Установка и обновление в репозитории NVM на GitHub](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating).

1. Откройте командную строку в Ubuntu (или в дистрибутиве по вашему выбору).
2. Установите cURL (средство, используемое для скачивания содержимого из Интернета в командной строке) с помощью: `sudo apt-get install curl`
3. Установка nvm с помощью: `curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash`

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Примечание</strong></p><p>Установка более новой версии NVM с помощью cURL заменит старую версию NVM, оставив установленную с её помощью вашу версию Node без изменений. Дополнительные сведения см. на странице проекта <a href="https://github.com/nvm-sh/nvm">GitHub для получения последних сведений о выпуске NVM</a>.</p></div>
4. Чтобы проверить установку, введите: `command -v nvm` ... Это должно возвращать nvm, если вы получаете "команда не найдена" или нет ответа вообще, закройте текущий терминал, снова откройте его и повторите попытку. [Узнайте больше в репозитории GitHub nvm](https://github.com/nvm-sh/nvm).
5. Проверьте, какие версии Node.js установлены в данный момент (на данном этапе они должны отсутствовать): `nvm ls`

   ![список NVM, в котором нет версий Node](https://learn.microsoft.com/ru-ru/windows/images/nvm-no-node.png)
6. Установите как текущую, так и стабильную версии LTS Node.js. На следующем шаге вы узнаете, как переключаться между активными версиями Node.js с помощью команды `nvm`.
   * Установите текущий стабильный выпуск LTS Node.js (рекомендуется для рабочих приложений): `nvm install --lts`
   * Установите текущий выпуск Node.js (для тестирования последних функций и улучшений Node.js, но, скорее всего, могут возникнуть проблемы): `nvm install node`
7. Список установленных версий Node.js: `nvm ls` ... сейчас вы должны увидеть две версии, которые вы только что установили.

   ![список версий NVM с LTS и текущими Node](https://learn.microsoft.com/ru-ru/windows/images/nvm-node-installed.png)
8. Убедитесь, что Node.js установлен и является текущей версией по умолчанию: `node --version`. Затем убедитесь, что у вас есть npm, с помощью: `npm --version` (вы также можете использовать `which node` или `which npm`, чтобы просмотреть путь, используемый для версий по умолчанию).
9. Чтобы изменить версию Node.js вы хотите использовать для проекта, создайте новый каталог проекта `mkdir NodeTest`и введите каталог `cd NodeTest`, а затем введите `nvm use node`, чтобы перейти на текущую версию, или `nvm use --lts` переключиться на версию LTS. Можно также использовать конкретное число для всех установленных дополнительных версий, например `nvm use v8.2.1`. (Чтобы получить список всех доступных версий Node.js, используйте команду: `nvm ls-remote`).

Если для установки Node.js и NPM используется NVM, вам не нужно использовать команду SUDO для установки новых пакетов.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://utm-1.gitbook.io/utm-docs/dokumentaciya/utm-it/programmnoe-obespechenie/rabochie-stancii-windows/po-dlya-razrabotki-na-node.js/node.js.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
