В нашей компании у нас есть локальный Sonatype Nexus, который мы используем для кеширования Npm, Maven, Nuget и т. Д. Он настроен как прокси для публичных репозиториев и имеет все кэшированные узлы node_modules. Тем не менее, модули npm сами по себе извлекают другие артефакты из Интернета, и это может вызвать проблемы, поскольку мы хотим иметь все, что требуется для сборки под нашим контролем.Сделать работу по установке npm без подключения к Интернету
Например, если мы сокращаем подключение к серверам интернет мы получаем эти ошибки во время установки НПМ:
06:57:49 D:\jenkins\workspace\AnxNT.Archetype\Web>npm install
06:58:05 npm WARN install Couldn't install optional dependency: Unsupported
07:00:31 npm ERR! fetch failed https://github.com/rase-/node-XMLHttpRequest/archive/a6b6f2.tar.gz
07:00:31 npm WARN retry will retry, error on last attempt: Error: connect ETIMEDOUT 192.30.252.131:443
07:02:55 npm ERR! fetch failed https://github.com/rase-/node-XMLHttpRequest/archive/a6b6f2.tar.gz
07:02:55 npm WARN retry will retry, error on last attempt: Error: connect ETIMEDOUT 192.30.252.131:443
07:06:08 npm ERR! fetch failed https://github.com/rase-/node-XMLHttpRequest/archive/a6b6f2.tar.gz
07:06:08 npm ERR! Windows_NT 6.3.9600
Есть ли вообще решить эту проблему? Помощь и советы получили высокую оценку.
Вы знаете, что вы можете заблокировать версии, используемые в файле package.json, так что вы всегда строить против тех же внешних зависимостей, верно? Это недостаточный контроль над сборкой? –
См.: Https://www.npmjs.com/package/offline-npm –
@JohnZwinck Вы имеете в виду использование обрезки с использованием npm? Это хорошо, но мы все еще зависим от того, что артефакт существует на внешнем сервере, который не является устойчивым решением. Мы хотим иметь доступ ко всем необходимым артефактам «в доме». – P3anuts