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 प्रमाणपत्र सत्यापन कमज़ोर करता है; सही प्रॉक्सी या भरोसे की सामग्री चुनने का विकल्प नहीं है।

परीक्षण खत्म होने पर जोड़ी गई प्रोजेक्ट ओवरराइड हटाएँ और प्रभावी मान फिर देखें। इससे उसी मशीन के दूसरे प्रोजेक्ट बदले बिना पिछली सेटिंग विरासत में मिलती है।

संबंधित लेख