Webpack начинает отказывать после того, как он работал без изменений в конфигурации

В последние несколько дней на сервере сборки появилась следующая ошибка

npm : keywords if/then/else require v5 option
At line:16 char:1
+ npm run build:dev
+ ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (keywords if/then/else require v5 option:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandErro

Мне интересно, как ошибки могут прийти ниоткуда, как это? ни один код не был изменен с тех пор, как он работал, и внезапно он начинает отказывать один день. Не заблокирован ли я в определенной версии из моего пакета.JSON? Если авторы пакетов делают изменения, которые нарушают вещи, разве я не должен быть защищен от них?

Любая помощь ценится. Я просто пытаюсь понять, как это происходит.

1 ответ

  1. Если вы посмотрите на свои package.jsonзависимости, вы, скорее всего, увидите ^символ на версиях, например^3.0.1, это эффективно соответствует незначительным и исправленным версиям, как правило . Для получения полной информации ознакомьтесь с модулем semver, используемым node https://github.com/npm/node-semver#caret-ranges-123-025-004

    Есть несколько крайних случаев с ведущим 0 и не уверен, как он обрабатывает такие вещи, как2.1.0-beta.21, возможно, проблема, которую вы имели с webpack.

    Также смотрите http://semver.org/