Как 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
Надеюсь, это поможет вам очистить ваши мысли.