Webpack скомпилировал неправильную зависимость (на конкретной машине) - PullRequest
0 голосов
/ 26 октября 2018

В нашем проекте есть две разные зависимости пакетов 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, чтобы проверить это несколько раз. Что еще может отличаться и на что мне обратить внимание?

Я мог бы просто не обращать на это внимания (пакет правильно собран на сервере сборки), но я хочу выяснить, что не так в случае, если он испортит что-то еще в моей разработке.

...