LINUX.ORG.RU

В чем отличия package.json от package-lock.json?

 


0

1

Я понимаю, что в package.json помимо сведений об авторе, ключевых словах есть еще и зависимости. Но непонятно зачем тут сделано описание используемых пакетов (dependencies и devDependencies) если это можно было описать в package-lock.json. Именно в package-lock.json же хранится полное дерево установленных пакетов с блокировкой их версий. В чем логика? Мне кажется, что версии пакетов в package.json избыточны.


package.json составляется программистом, который указывает желаемые версии пакетов (а там может быть и нестрогое указание) и их категорию. package-lock.json формируется автоматически, он содержит перечень версий всех реально установленных пакетов и пакетов, установленных по зависимостям. Суть в том, что если lock-файл не противоречит package.json (и установка выполнена через npm ci), то npm возьмёт оттуда все версии и раскатит их точно так же, как раскатил их на компьютере разработчика.

static_lab ★★★★★
()
Последнее исправление: static_lab (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.