Инициализация проекта и установка зависимостей через npm install — это процесс создания файла package.json командой npm init и последующей загрузки всех необходимых пакетов из репозитория npm. После выполнения npm install в проекте создаётся папка node_modules со всеми зависимостями и файл package-lock.json для фиксации версий.
Зачем это нужно
- npm init создаёт файл
package.json, который содержит метаинформацию о проекте и список всех зависимостей - Команда
npm installскачивает все пакеты, указанные вpackage.json, в локальную папкуnode_modules - Инициализация проекта необходима для совместной разработки, так как другие разработчики могут просто запустить
npm installвместо клонирования папкиnode_modules - Файл
package-lock.jsonгарантирует, что все разработчики используют одинаковые версии зависимостей - Установка зависимостей через npm позволяет управлять библиотеками без ручного скачивания и обновления версий
- npm init автоматически генерирует структуру метаданных проекта, которая требуется для развёртывания на серверах и в контейнеризации
- Процесс инициализации включает установку dev-зависимостей (тестирование, сборка, линтинг), которые не нужны на продакшене
- npm install позволяет легко добавлять новые пакеты через команду
npm install имя-пакетабез ручального редактированияpackage.json
Пошаговая инструкция
- Проверьте наличие Node.js на компьютере, открыв командную строку и выполнив
node --version - Если Node.js не установлен, скачайте его с официального сайта
nodejs.orgи установите - Убедитесь, что npm установлен, выполнив команду
npm --versionв командной строке - Откройте проводник и создайте новую папку для вашего проекта (например,
my-app) - Откройте командную строку (нажмите
Win+R, введитеcmdи нажмитеEnter) - Перейдите в папку проекта, выполнив команду
cd путь\к\папке\my-app - Инициализируйте проект командой
npm init - Ответьте на вопросы инициализации: введите имя проекта (по умолчанию название папки)
- Укажите версию проекта (по умолчанию
1.0.0) или нажмитеEnterдля принятия значения по умолчанию - Добавьте описание проекта или нажмите
Enterдля пропуска - Укажите точку входа (по умолчанию
index.js) или введите свой файл - Добавьте тестовую команду или нажмите
Enterдля пропуска - Укажите git-репозиторий проекта или нажмите
Enterдля пропуска - Добавьте ключевые слова для поиска пакета или нажмите
Enterдля пропуска - Введите имя автора проекта или нажмите
Enterдля пропуска - Выберите лицензию проекта (по умолчанию
ISC) или нажмитеEnterдля принятия - Проверьте финальную информацию и нажмите
Enterдля подтверждения созданияpackage.json - Убедитесь, что файл
package.jsonбыл создан в папке проекта, выполнивdirилиls - Откройте файл
package.jsonв текстовом редакторе (например, VS Code) для проверки содержимого - Добавьте первую зависимость командой
npm install expressдля примера установки пакета - Дождитесь завершения процесса установки (это может занять несколько минут)
- Проверьте, что в папке проекта была создана директория
node_modules - Убедитесь, что в файле
package.jsonпоявилась запись"express": "^версия"в секцииdependencies - Проверьте, что был создан файл
package-lock.jsonдля фиксации версий - Установите дополнительные зависимости, выполнив
npm install имя-пакетадля каждого нужного пакета - Добавьте dev-зависимости командой
npm install --save-dev название-пакетадля пакетов, нужных только при разработке - После добавления всех нужных пакетов поместите папку
node_modulesв файл.gitignore - Загрузите файлы
package.jsonиpackage-lock.jsonв систему контроля версий (git) - Для восстановления зависимостей на другой машине выполните
npm installбез указания имени пакета - Убедитесь, что все зависимости установлены, проверив наличие папки
node_modulesи выполнивnpm list
Часто задаваемые вопросы
Что такое package-lock.json и зачем он нужен? Файл package-lock.json фиксирует точные версии всех установленных пакетов, чтобы при повторной установке на другой машине устанавливались одинаковые версии.
Почему папка node_modules огромная и её нельзя загружать в git? Папка node_modules содержит тысячи файлов и может занимать гигабайты, поэтому её исключают через .gitignore, а другие разработчики устанавливают её командой npm install.
Как обновить все зависимости проекта до новых версий? Выполните команду npm update для обновления всех пакетов, или npm outdated для просмотра доступных обновлений перед обновлением.