Ответ
Файл package-lock.json автоматически генерируется npm при установке зависимостей. Он фиксирует точные версии всех пакетов и их зависимостей, включая вложенные, чтобы гарантировать идентичные установки в разных окружениях.
Ключевые особенности:
- Содержит дерево зависимостей с точными версиями (в отличие от
package.json, где могут быть диапазоны). - Обеспечивает воспроизводимость сборок (
npm ciиспользует именно его). - Автоматически обновляется при изменении
node_modulesилиpackage.json.
Пример структуры:
{
"name": "project",
"version": "1.0.0",
"dependencies": {
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-..."
}
}
}Не рекомендуется редактировать его вручную!