HTTP اور HTTPS کے لیے npm پراکسی ترتیبات
npm کے HTTP اور HTTPS پراکسی راستے ترتیب دیں، noproxy استثنا سمجھیں اور TLS تصدیق بند کیے بغیر نجی CA استعمال کریں۔
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 سرٹیفکیٹ کی تصدیق کمزور کرتا ہے؛ درست پراکسی یا اعتماد کے مواد کے انتخاب کا بدل نہیں۔
ٹیسٹ ختم ہو تو منصوبے کی شامل کردہ اووررائیڈ ترتیبات ہٹا کر مؤثر قدریں پھر دیکھیں۔ یوں اسی مشین کے دوسرے منصوبے بدلے بغیر سابقہ ترتیب وراثت میں ملتی ہے۔