В нашем проекте есть две разные зависимости пакетов npm A
и B
.
A
зависит от библиотеки C@^4.0.0
, тогда как B
требует C@^5.0.0
. A
был добавлен ранее, поэтому в структуре файла у нас есть node_modules\C
, то есть "version": "4.1.0"
и node_modules\B\node_modules\C
, то есть "version": "5.1.0"
. C вообще отсутствует в package.json, он используется только этими зависимостями.
B фактически использует что-то в C, что является серьезным изменением и не работает с 4-й версией.
Это абсолютно преднамеренная и нормальная ситуация для управления пакетами, в сущности, о чем они все.
Webpack, создающий пакет, импортирует два модуля, один для A и один для B. Он делает это для одного разработчика и на машине для сборки.
Однако по какой-то причине в одном (на моем) веб-пакете разработчика используется модуль node_modules\C
в обоих случаях, что приводит к ошибке времени выполнения позже (как всегда в этом случае, раздражающая ниша и неочевидная тоже заняли половину времени). час, чтобы выяснить, проблема заключается в зависимости версии).
Версии узла (v8.12.0), npm (6.4.1), пакета webpack (3.8.1) одинаковы на всех машинах. Я сделал чистую npm i
, удалив node_modules и npm ci
, чтобы проверить это несколько раз. Что еще может отличаться и на что мне обратить внимание?
Я мог бы просто не обращать на это внимания (пакет правильно собран на сервере сборки), но я хочу выяснить, что не так в случае, если он испортит что-то еще в моей разработке.