В моем проекте nodejs мне пришлось изменить 4 модуля узла и загрузить их в наш частный корпоративный реестр, чтобы проект загружал измененные версии во время сборок.Я сделал это, изменив поле resolved
в package-lock.json
для каждой зависимости из нашего виртуального реестра npm, который перенаправляет загрузки в открытый реестр npm в наш частный реестр.
Это работает для 3 из 4модули, однако 1 модуль, phantomjs-prebuilt
, не будет загружать тот, который я загрузил.Когда я просматриваю его package.json после установки, в его поле _resolved
отображается правильный личный реестр, который я ввел в package-lock.json
, но у меня нет моих модификаций.
Если я создаю тестовый проект сpackage.json
, который имеет phantomjs-prebuilt
в качестве единственной зависимости и изменяет файл блокировки для загрузки из частного реестра, он загрузит правильную измененную версию, которую я загрузил.Я предполагаю, что должна быть некоторая транзитивная зависимость, переопределяющая ее, но я подумал, что смогу увидеть это из файла блокировки и переопределить ее.phantomjs-prebuilt
появляется только один раз в моем файле блокировки, и именно здесь я изменяю поле resolved
.