Как npm обновить версии зависимостей в package-lock.json?

Как в заголовке, но:

  • Если это возможно, я не хочу вручную переписывать строку версии в package-lock.json,
  • Я попробовал следующее: Как мне обновить каждую зависимость в package.json до последней версии? но, как и ожидалось, он только обновил файл package.json,
  • Я посмотрел на документы: документы package-lock.json и документы объяснения package-lock,
  • как написано в этом вопросе, поведение установки npm было изменено в npm v5.1.0, что, если я прав, означает, что если у меня версия npm выше 5.1.0, мое приложение будет (по умолчанию) всегда устанавливать npm из package.json, вместо package-lock.json. Тем не менее, в моем package-lock.json по-прежнему есть зависимость, в которой есть уязвимость, и мой github кричит об этом.

Как лучше всего это решить? В любом случае, если я устанавливаю из package.json, будет хорошей практикой просто удалять package-lock.json? Должен ли я держать его в курсе? Что делать, если я хочу использовать блокировку вместо этого?

Я никогда не делал ничего подобного раньше, поэтому я даже не уверен, что если я просто перезаписываю строку версии в json, это сработает или прервет установку npm.

Есть ли безопасный / профессиональный способ перейти на package-lock.json и обновлять его через npm?

1 ответ

Решение

Если вы хотите обновить версию в package-lock.json, вы можете сделать это, обновив пакет, используя

npm update <package_name>
  • '^' >> "Примерно эквивалентно версии"
  • '~' >> "Совместимо с версией"

Узнайте больше о '^' и '~' в вашем package.json >> Ссылка

Поскольку пакет-блокировка указывает версию, местоположение и хэш целостности для каждого модуля и каждой из его зависимостей, создаваемая им установка будет одинаковой, каждый раз для каждого пользователя в общем проекте.

Все, что вы хотели знать о package-lock.json

Надеюсь, это поможет вам очистить ваши мысли.

Другие вопросы по тегам