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 সার্টিফিকেট যাচাই দুর্বল করে; সঠিক প্রক্সি বা আস্থার উপকরণ বাছার বিকল্প নয়।
পরীক্ষা শেষে যোগ করা প্রকল্প ওভাররাইড সরিয়ে কার্যকর মান আবার দেখুন। এতে একই যন্ত্রের অন্য প্রকল্প না বদলে আগের কনফিগারেশন উত্তরাধিকারসূত্রে পাওয়া যায়।