npm պրոքսիի կարգավորումներ HTTP-ի և HTTPS-ի համար
Կարգավորեք npm-ի HTTP ու HTTPS պրոքսի ուղիները, հասկացեք noproxy բացառությունները և օգտագործեք մասնավոր CA՝ առանց TLS ստուգումն անջատելու։
npm-ն ունի առանձին proxy և https-proxy կարգավորումներ։ Տարբերությունը հարցվող նպատակակետն է։ HTTPS թունել ստեղծող սովորական HTTP պրոքսիի դեպքում երկու արժեքներն էլ կարող են նույն 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-ը թուլացնում է վկայագրի ստուգումը․ այն չի փոխարինում ճիշտ պրոքսիի կամ վստահության նյութերի ընտրությունը։
Փորձերի ավարտին հեռացրեք ավելացրած նախագծային վերագրումներն ու նորից դիտեք փաստացի արժեքները։ Նախագիծը կժառանգի նախկին կարգավորումը՝ նույն մեքենայի այլ նախագծերը չփոխելով։