Провали на проксито на npm при изтегляне на инсталационни скриптове
Пакет на npm може да стартира отделно изтегляне по време на инсталация. Идентифицирайте тази програма и хост, вместо да приемате, че всяка заявка използва прокси конфигурацията на регистъра на npm.
Ако инсталация на npm премине изтеглянето от регистъра и спре в инсталационен скрипт, идентифицирайте втория изтеглящ. JavaScript пакетът може вече да е наличен, докато платформено-специфичният му двоичен файл все още липсва.
- Намерете собственика на заявката в журнала. Запишете скрипта от жизнения цикъл, изпълнимия файл или HTTP библиотеката, хостимето на дестинацията и първата грешка. Пакетът може да стартира друга програма, чието изтегляне е отделно от трансфера на регистъра на npm.
- Използвайте поддържания от този изтеглящ прокси интерфейс. За пътя resources.js на tfjs-node прокси средата на дъщерния процес е един конкретен пример. Проверете документираните настройки за изтегляне на пакета и средата на процеса, който прави заявката. Стандартна прокси променлива помага само ако този консуматор я чете; добавянето на променливи с подобни имена не доказва поддръжка.
- Следвайте действителния маршрут на артефакта. Сървърите за издания, обектните хранилища и целите за пренасочване могат да се различават от регистъра. Сравнете прокси удостоверяването, одобрените дестинации и TLS доверието за неуспешната заявка.
Направете това преди изчистване на кеша: преходът в журнала от извличане на пакета към изпълнение на жизнения цикъл вече стеснява неизправността. Успешният достъп до регистъра е полезно сравнително доказателство, но не доказва, че вторичната програма поддържа същия маршрут или може да достигне своя хост на артефакти.
Изключването на инсталационните скриптове може да пропусне изтеглянето и да остави пакета неизползваем. Ако пакетът документира одобрен предварително изграден или офлайн път за инсталация, подгответе този артефакт умишлено и потвърдете, че изпълнимият файл е наличен, преди да приемете инсталацията за завършена.