Проверяет понимание работы с package-lock.json: правильную команду установки зависимостей и необходимость коммитить файл в репозиторий.
package-lock.json — это файл, автоматически создаваемый npm при установке зависимостей. Он фиксирует точные версии всех пакетов и их транзитивных зависимостей, включая контрольные суммы. Это гарантирует, что каждый раз при установке вы получите идентичное дерево зависимостей.
Когда файл package-lock.json уже существует, рекомендуется использовать команду npm ci вместо npm install. npm ci полностью удаляет папку node_modules и устанавливает зависимости строго по lock-файлу, что быстрее и надёжнее. В отличие от npm install, который может обновлять версии в пределах семантического версионирования, npm ci не изменяет lock-файл и не добавляет новые пакеты.
# Установка зависимостей по lock-файлу
npm ci
# Обычная установка (не рекомендуется при наличии lock-файла)
npm install
Да, package-lock.json обязательно должен быть в репозитории. Это обеспечивает единообразие окружений: все разработчики, тестовые серверы и CI/CD используют одинаковые версии пакетов. Без lock-файла возможны расхождения из-за обновлений в реестре npm, что приводит к ошибкам «на моей машине работает». Коммит lock-файла также упрощает отладку и аудит зависимостей.
Представьте, что вы работаете в команде. Один разработчик добавил пакет с версией ^1.2.0. Без lock-файла другой разработчик может получить 1.3.0, если она уже вышла. С lock-файлом все получат ровно 1.2.0, что исключает неожиданные изменения.
Используйте npm ci для установки зависимостей в проектах с package-lock.json и всегда коммитьте этот файл. Это стандарт для воспроизводимых сборок и важная практика в командной разработке и CI/CD.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию