npm мае асобныя налады proxy і https-proxy. Адрозненне — у месцы прызначэння запыту. Для звычайнага HTTP-проксі, які тунэлюе HTTPS, абодва значэнні могуць паказваць на той жа пункт http://.

Праектны .npmrc можа змяшчаць:

proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal

Замяніце дакументацыйны пункт сваім проксі; для дазволеных тэстаў публічнага рэестра спіс HTTP-проксі дае HTTP-кандыдатаў. Апошні радок наўмысна пакідае названы ўнутраны рэестр прамым. Гэта не іншы адрас проксі.

Папрасіце npm зрабіць запыт

Усталяванне з кэша — дрэнны тэст маршруту: npm ужо можа мець усё патрэбнае. Ping рэестра — меншая праверка:

npm ping --registry=https://registry.npmjs.org/

Паспяховае завяршэнне паказвае, што гэты выклік npm дасягнуў маршруту таго рэестра. Яно не даказвае, што кожны хост tarball, залежнасць Git або асобны працэс менеджара пакетаў выкарыстоўвае той жа шлях.

Каб знайсці супярэчлівую наладу, праверце дзейныя значэнні замест неадкладных змен іншых файлаў:

npm config get proxy
npm config get https-proxy
npm config get noproxy

Гэтыя каманды могуць паказаць уліковыя даныя, калі яны ўбудаваны ў URL. Правярайце вынік лакальна, а не ўстаўляйце яго без змен у паведамленне пра праблему.

Праектны .npmrc не выкарыстоўваецца для глабальных усталяванняў. Калі не працуе толькі npm install -g, праверце дзейную канфігурацыю гэтага выкліку, а не лічыце, што ён чытаў праектны файл.

Праверце выключэнні перад зменай IP

npm працуе і са зменнымі асяроддзя проксі, а налада noproxy можа паходзіць з NO_PROXY. Мэта, выключаная дзейнай канфігурацыяй, можа злучацца наўпрост, нават калі проксі зададзены. Наадварот, выдаленне радка з аднаго .npmrc не прыбірае ўспадкаваную зменную асяроддзя.

Разглядайце памылкі сертыфікатаў асобна

Упаўнаважаны правяраючы проксі можа патрабаваць CA арганізацыі, якому ваш Node/npm яшчэ не давярае. npm падтрымлівае файл CA:

cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true

Выкарыстоўвайце сапраўдны ўхвалены набор для гэтага асяроддзя. strict-ssl=false аслабляе праверку сертыфікатаў; гэта не замена выбару патрэбнага проксі або матэрыялаў даверу.

Пасля тэстаў прыбярыце дададзеныя праектныя перавызначэнні і зноў праверце дзейныя значэнні. Праект атрымае ранейшую канфігурацыю ў спадчыну без змен іншых праектаў на тым жа камп’ютары.

Падобныя артыкулы