# npm

[**npm**](https://www.npmjs.com/) — менеджер пакетів для Node.js, який значно спрощує процес встановлення сторонніх пакетів у ваш проект.

{% hint style="info" %}
Якщо скористатися встановлювачами для Windows чи Mac OS з офіційного сайту <https://nodejs.org>, то скоріш за все також встановиться npm.
{% endhint %}

Щоб перевірити версію npm, запустіть:

```bash
npm -v
```

Щоб розпочати роботу з npm з чистого аркуша, в директорії з проектом виконайте команду:

```bash
npm init
```

![$ npm init](https://ihor.gitbooks.io/introduction-to-web-development/content/nodejs/npm_init.png)

В результаті буде створено файл-опис для проекту `package.json`.

Щоб встановити пакет за допомогою `npm`, слід запустити

```bash
npm install НАЗВА_ПАКЕТУ --save
```

Після чого в папку `node_modules` проекту буде завантажена остання версія вказаного пакету.

Прапорець `--save` (або ж `--save-dev`) додає пакет, що встановлюється, у файл `package.json`. Таким чином, коли наступного разу хтось буде розгортати проект, досить буде написати `npm install`, щоб встановити всі залежності.

Для прикладу встановимо пакет Express (фреймворк для Node.js):

```bash
npm install express --save
```

> Деякі пакети уже входять до складу Node.js і їх не потрібно окремо встановлювати. Наприклад, пакет для роботи з файловою системою `fs` (`File System`).

Якщо ви хочете встановити пакет глобально (щоб він був доступний для інших проектів), слід використати прапорець `-g`:

```bash
npm install -g express
```


---

# Agent Instructions: 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://vyspiansky.gitbook.io/introduction-to-web-development/javascript/npm.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.
