Npm install не создает новый пакет-lock.json

Я случайно удалил свой файл package-lock.json. npm install не генерирует новый. Как мне получить npm для воссоздания этого файла.

Ответ 1

FYI. Давайте проверим, какая версия узла и npm.

npm -v
prints: x.x.x
node -v
prints: x.x.x

Я считаю, что для package-lock.json генерируется автоматически, если выполнены 2 условия версии npm> 5.xx и версии узла> 7.xx

Ответ 2

Там может быть файл с именем .npmrc который может содержать

package-lock=false

что не приведет к генерации файла блокировки пакета.

Ответ 3

Чтобы решить эту проблему, я попробовал ниже перечисленные вещи, и это сработало для меня:

Убедитесь, что ваша блокировка пакетов включена глобально, вы можете включить ее с помощью: npm config set package-lock true

Чтобы убедиться, что ваш .npmrc не блокирует создание файла блокировки пакетов, установите для него .npmrc echo 'package-lock = true' >>.npmrc

примечание: package-lock.json автоматически генерируется для любых операций, где npm изменяет либо дерево node_modules, либо package.json для npm -v> 5.xx

проверьте версию npm: npm -v

обновите свой npm до последней версии, используя: npm install -g npm @latest npm я -g npm-upgrade

@будут

Ответ 4

Если ваша версия npm равна < 5, вы будете иметь файл shrinkwrap.json, созданный при запуске установки npm.

В противном случае package-lock будет создано в версиях npm версии 5 и выше.