উত্তর:
আমি এই সমস্যাটি এইভাবে সমাধান করেছি:
আমি এই আদেশটি চালাচ্ছি:
npm config set strict-ssl false
তারপরে HTTP- র পরিবর্তে এনএমপি সেট করুন, পরিবর্তে https:
npm config set registry "http://registry.npmjs.org/"
তারপরে আমি এই বাক্য গঠনটি ব্যবহার করে প্যাকেজগুলি ইনস্টল করব:
npm --proxy http://username:password@cacheaddress.com.br:80 install packagename
username:password
প্রক্সির যদি আপনার অনুমোদনের প্রয়োজন না হয় তবে অংশটি এড়িয়ে যান
সম্পাদনা করুন: আমার এক বন্ধু শুধু আপনার সেটিং দ্বারা একটি প্রক্সি পিছনে কাজ NPM পেতে পারে যে নির্দিষ্ট উভয় , HTTP_PROXY এবং HTTPS_PROXY এনভায়রনমেন্ট ভেরিয়েবল তারপর কমান্ড স্বাভাবিকভাবে জারি এক্সপ্রেস ইনস্টল npm (উদাহরণস্বরূপ)
সম্পাদনা 2: @ বিএসটিউথাররা যেমন মন্তব্য করেছেন, মনে রাখবেন যে "@" সম্বলিত পাসওয়ার্ডগুলি সঠিকভাবে পার্স করা যাবে না, যদি @ থাকে তবে সম্পূর্ণ পাসওয়ার্ড উদ্ধৃতিতে রাখে
my@password
, আপনার .npmrc ফাইলটির my%40password
পাসওয়ার্ড অংশের জন্য থাকা উচিত । এটিকে উদ্ধৃতিতে রাখা কিছু ক্ষেত্রে কাজ করে তবে এটিকে এনকোডিং বোকামিযুক্ত।
npm
প্রক্সি সেটআপ করুন
এর জন্য HTTP
:
npm config set proxy http://proxy_host:port
এর জন্য HTTPS
:
যদি কোনও থাকে তবে https প্রক্সি ঠিকানা ব্যবহার করুন
npm config set https-proxy https://proxy.company.com:8080
অন্যথায় http প্রক্সি ঠিকানা পুনরায় ব্যবহার করুন
npm config set https-proxy http://proxy.company.com:8080
দ্রষ্টব্য : https- প্রক্সিটির https
প্রোটোকল হিসাবে নেই , তবে http
।
সন্দেহ হলে, আমার মতো এই সমস্ত আদেশগুলি ব্যবহার করে দেখুন:
npm config set registry http://registry.npmjs.org/
npm config set proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set https-proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set strict-ssl false
set HTTPS_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
set HTTP_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export HTTPS_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export HTTP_PROXY=http://myusername:mypassword@proxy.us.somecompany:8080
export http_proxy=http://myusername:mypassword@proxy.us.somecompany:8080
npm --proxy http://myusername:mypassword@proxy.us.somecompany:8080 \
--without-ssl --insecure -g install
=======
আপনার সেটিংসটি এতে রাখুন ~/.bashrc
বা ~/.bash_profile
আপনি যখনই নতুন টার্মিনাল উইন্ডো খুলবেন তখন আপনাকে আপনার সেটিংস সম্পর্কে চিন্তা করতে হবে না!
যদি আপনার সংস্থাটি আমার মতো হয় তবে আমাকে প্রায়শই আমার পাসওয়ার্ড পরিবর্তন করতে হবে। সুতরাং আমি আমার। / .Bashrc বা ~ / .Bash_profile এ নিম্নলিখিতগুলি যুক্ত করেছি যাতে আমি যখনই কোনও টার্মিনাল খুলি, আমি জানি আমার এনপিএম আপ টু ডেট!
আপনার ~/.bashrc
ফাইলের নীচে কেবল নীচের কোডটি পেস্ট করুন:
######################
# User Variables (Edit These!)
######################
username="myusername"
password="mypassword"
proxy="mycompany:8080"
######################
# Environement Variables
# (npm does use these variables, and they are vital to lots of applications)
######################
export HTTPS_PROXY="http://$username:$password@$proxy"
export HTTP_PROXY="http://$username:$password@$proxy"
export http_proxy="http://$username:$password@$proxy"
export https_proxy="http://$username:$password@$proxy"
export all_proxy="http://$username:$password@$proxy"
export ftp_proxy="http://$username:$password@$proxy"
export dns_proxy="http://$username:$password@$proxy"
export rsync_proxy="http://$username:$password@$proxy"
export no_proxy="127.0.0.10/8, localhost, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"
######################
# npm Settings
######################
npm config set registry http://registry.npmjs.org/
npm config set proxy "http://$username:$password@$proxy"
npm config set https-proxy "http://$username:$password@$proxy"
npm config set strict-ssl false
echo "registry=http://registry.npmjs.org/" > ~/.npmrc
echo "proxy=http://$username:$password@$proxy" >> ~/.npmrc
echo "strict-ssl=false" >> ~/.npmrc
echo "http-proxy=http://$username:$password@$proxy" >> ~/.npmrc
echo "http_proxy=http://$username:$password@$proxy" >> ~/.npmrc
echo "https_proxy=http://$username:$password@$proxy" >> ~/.npmrc
echo "https-proxy=http://$username:$password@$proxy" >> ~/.npmrc
######################
# WGET SETTINGS
# (Bonus Settings! Not required for npm to work, but needed for lots of other programs)
######################
echo "https_proxy = http://$username:$password@$proxy/" > ~/.wgetrc
echo "http_proxy = http://$username:$password@$proxy/" >> ~/.wgetrc
echo "ftp_proxy = http://$username:$password@$proxy/" >> ~/.wgetrc
echo "use_proxy = on" >> ~/.wgetrc
######################
# CURL SETTINGS
# (Bonus Settings! Not required for npm to work, but needed for lots of other programs)
######################
echo "proxy=http://$username:$password@$proxy" > ~/.curlrc
তারপরে আপনি যে কোডটি পেস্ট করেছেন তাতে "ব্যবহারকারীর নাম", "পাসওয়ার্ড" এবং "প্রক্সি" ক্ষেত্রগুলি সম্পাদনা করুন।
একটি নতুন টার্মিনাল খুলুন
চালিয়ে গিয়ে npm config list
এবং আপনার সেটিংস পরীক্ষা করুনcat ~/.npmrc
ব্যবহার করে আপনার মডিউল ইনস্টল করার চেষ্টা করুন
npm install __
, বা npm --without-ssl --insecure install __
, বা npm --without-ssl --insecure --proxy http://username:password@proxy:8080 install __
।-g
npm config set registry http://registry.npmjs.org/
, npm config set proxy http://myusername:mypassword@proxy.us.somecompany:8080
, npm config set https-proxy http://myusername:mypassword@proxy.us.somecompany:8080
, npm config set strict-ssl false
npm কনফিগ এবং তারপর ইনস্টল npm প্যাকেজ ব্যবহার করার জন্য npm --proxy http://myusername:mypassword@proxy.us.somecompany:8080 --without-ssl --insecure -g install {packagename}
। ধন্যবাদ
আপনি কি .npmrc
ফাইলটির পরিবর্তে কমান্ড-লাইন বিকল্পগুলি ব্যবহার করে দেখেছেন?
আমি মনে করি আমার মতো npm --proxy http://proxy-server:8080/ install {package-name}
কাজ করেছে।
আমি নিম্নলিখিতগুলিও দেখেছি:
npm config set proxy http://proxy-server:8080/
যদিও ইতিমধ্যে আমার পরিবেশের জন্য (উইন্ডোজ 7, পাওয়ারশেল ব্যবহার করে) এবং নোড.জেএস (ভি 8.1.2) এর শেষ সংস্করণটি কার্যকর হয়েছে, আমি ব্রুনোয়েগো সেটিংস অনুসরণ না করে ব্যতীত কাজ করেছি all
সুতরাং এটির সাথে আপনার সেটিংস পরীক্ষা করুন:
npm config list
একটি প্রক্সি পিছনে সেটিংস:
npm config set registry http://registry.npmjs.org/
npm config set http-proxy http://username:password@ip:port
npm config set https-proxy http://username:password@ip:port
npm config set proxy http://username:password@ip:port
npm set strict-ssl false
আশা করি এটি কারও জন্য সময় সাশ্রয় করবে
এটি উইন্ডোজে আমার জন্য কাজ করে:
npm config set proxy http://domain%5Cuser:pass@host:port
আপনি যদি কোনও ডোমেইনে না থাকেন তবে ব্যবহার করুন:
npm config set proxy http://user:pass@host:port
আপনার পাসওয়ার্ড যেমন বিশেষ অক্ষর থাকে "
, @
, :
এবং তাই, তাদেরকে তাদের URL টি এনকোড মান দ্বারা প্রতিস্থাপন করুন। যেমন "
-> %22
, @
-> %40
, :
-> %3A
। %5C
চরিত্রের জন্য ব্যবহৃত হয় \
।
encodeURIComponent("YourP@ssword")
আপনার পাসওয়ার্ডের এনকোড সংস্করণ পেতে টাইপ করতে পারেন।
Http প্রক্সি সেটআপ করতে -g পতাকা সেট করুন:
sudo npm config set proxy http://proxy_host:port -g
Https প্রক্সি জন্য, আবার নিশ্চিত করুন যে -g পতাকা সেট করা আছে:
sudo npm config set https-proxy http://proxy_host:port -g
$ npm config set proxy http://login:pass@host:port
$ npm config set https-proxy http://login:pass@host:port
এটি আমার জন্য কাজ করেছে-
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
npm set strict-ssl=false
vim ~/.npmrc
আপনার লিনাক্স মেশিনে এবং নিম্নলিখিত যুক্ত করুন। registry
অনেক ক্ষেত্রে এই কারণ ব্যর্থতা হিসাবে অংশ যোগ করতে ভুলবেন না ।
proxy=http://<proxy-url>:<port>
https-proxy=https://<proxy-url>:<port>
registry=http://registry.npmjs.org/
https-proxy=https://..
মধ্যেhttps-proxy=http://..
শেষ অবধি আমি AD প্রমাণীকরণের সাথে পিছনে প্রক্সি থাকা এই সমস্যার সমাধান করতে সক্ষম হয়েছি। আমাকে মৃত্যুদণ্ড কার্যকর করতে হয়েছিল:
npm config set proxy http://domain%5Cuser:password@proxy:port/
npm config set https-proxy http://domain%5Cuser:password@proxy:port/
ব্যাকশ্ল্যাশ বা # আমার ক্ষেত্রে কোনও বিশেষ অক্ষর এনকোড করা ইউআরএলকে দেওয়া অত্যন্ত গুরুত্বপূর্ণ my আমার ক্ষেত্রে আমাকে এনকোড করতে হয়েছিল
backshlash
% 5C এর সাথে তাই domain\user will
হবেdomain%5Cuser
#
%23%0A
পাসওয়ার্ড সহ সাইন ইন করুন Password#2
হবেPassword%23%0A2
আমি নিম্নলিখিত সেটিংস যুক্ত করেছি:
npm config set strict-ssl false
npm config set registry http://registry.npmjs.org/
যদিও আমি কনফিগারেশনের মাধ্যমে প্রক্সি সেট করেছি, সমস্যাটি সমাধান করা হয়নি তবে এটি পরে আমার জন্য কাজ করেছে:
এনপিএম --https- প্রক্সি http://XX.AA.AA.BB:8080 কর্ডোভা -প্লাগইন ইনস্টল করুন
npm --proxy http://XX.AA.AA.BB:8080 ইনস্টল
আমি এই সমস্ত অপশনের চেষ্টা করেছিলাম, তবে আমার প্রক্সিটিতে কোনও কারণে এটির কিছু ছিল না। তারপরে, হতাশা / হতাশার দ্বারা জন্মগ্রহণ করে, আমি এলোমেলোভাবে curl
আমার গিট ব্যাশ শেলটিতে চেষ্টা করেছি এবং এটি কার্যকর হয়েছে।
সমস্ত প্রক্সি বিকল্প ব্যবহার করে আনসেট করা হচ্ছে
npm config rm proxy
npm config rm https-proxy
এবং তারপরে npm install
আমার গিট ব্যাশ শেলটিতে চলছে পুরোপুরি কার্যকর। আমি জানি না কীভাবে এটি প্রক্সিটির জন্য সঠিকভাবে সেট আপ হয়েছে এবং উইন্ডোজ cmd
প্রম্পটটি নয়, তবে এটি কার্যকর হয়েছিল।
npm config set proxy <http://...>:<port_number>
npm config set registry http://registry.npmjs.org/
এটি আমার সমস্যার সমাধান করেছে।
শেষ পর্যন্ত বিভিন্ন উত্তর বেঁধে দেওয়ার পরে, @ কেভর উত্তরের প্রথম চারটি লাইন আমাকে সমস্যাটি সমাধান করতে সহায়তা করে:
npm config set registry http://registry.npmjs.org/
npm config set proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set https-proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set strict-ssl false
এটি আমার পক্ষে কাজ করেছে। Http এবং https প্রক্সি সেট করুন।
সি: \ ব্যবহারকারীগণ \ .npmrc এ .npmrc সন্ধান করার চেষ্টা করুন
তারপরে (নোটপ্যাড) খুলুন, লিখুন এবং ভিতরে সংরক্ষণ করুন:
proxy=http://<username>:<pass>@<proxyhost>:<port>
PS: "<" এবং ">" সরান দয়া করে !!
আমার জন্য যদিও পাইথন ইত্যাদি সমস্ত কাজ করবে যদিও আমাদের কর্পোরেট প্রক্সি এনএমপি না করে।
আমি চেষ্টা করেছিলাম
npm config set proxy http://proxyccc.xxx.ca:8080
npm config set https-proxy https://proxyccc.xxx.ca:8080
npm config set registry http://registry.npmjs.org/
হিসাবে নির্দেশিত কিন্তু একই ত্রুটি পেয়ে রাখা।
এটা শুধুমাত্র যখন আমি মুছে
https-proxy https://proxyccc.xxx.ca:8080
npm ইনস্টল যে ইলেক্ট্রন --save-দেব কাজ .npmrc ফাইল থেকে
https-proxy
সম্ভবত না https:
। কমপক্ষে, প্রত্যেকের জন্য একই পোর্ট থাকা সম্ভবত সঠিক নয়, তবে আমি মনে করি তাদের উভয়েরই সম্ভবত একই মান রয়েছে।
উইন্ডোজ সিস্টেমে
প্রক্সি এবং রেজিস্ট্রি সেটিংস মুছে ফেলার চেষ্টা করুন (যদি ইতিমধ্যে সেট করা থাকে) এবং এর মাধ্যমে কমান্ড লাইনে পরিবেশের ভেরিয়েবল সেট করুন
SET HTTP_PROXY=http://username:password@domain:port
SET HTTPS_PROXY=http://username:password@domain:port
তারপরে এনপিএম ইনস্টল চালানোর চেষ্টা করুন। এটির মাধ্যমে, আপনি .npmrc এ প্রক্সি সেট করবেন না তবে সেই সেশনের জন্য এটি কাজ করবে।
SET HTTP_PROXY http://username:password@domain:port
তবে স্যুইচিংয়ে SET HTTP_PROXY=http://username:password@domain:port
মনে হচ্ছে সবকিছু কাজ করছে
সিএমডি বা জিআইটি বাশ বা অন্যান্য প্রম্পটে নীচের কমান্ডটি ব্যবহার করুন
pm npm কনফিগারেশন সেট প্রক্সি " http://192.168.1.101:4128 "
$ এনএমপি কনফিগারেশন https- প্রক্সি সেট করুন " http://192.168.1.101:4128 "
যেখানে 192.168.1.101 প্রক্সি আইপি এবং 4128 বন্দর। আপনার প্রক্সি সেটিংস অনুযায়ী পরিবর্তন করুন। এটা আমার জন্য কাজ।
প্রচুর অ্যাপ্লিকেশন (যেমন এনপিএম) ব্যবহারকারীর পরিবেশের ভেরিয়েবলগুলি থেকে প্রক্সি সেটিং ব্যবহার করতে পারে।
আপনি কেবল HTTP_PROXY এবং HTTPS_PROXY ভেরিয়েবলগুলি অনুসরণ করে আপনার পরিবেশে যুক্ত করতে পারেন যার প্রতিটির জন্য একই মান থাকবে
HTTP: // ব্যবহারকারী: পাসওয়ার্ড @ proxyAddress: proxyPort
উদাহরণস্বরূপ আপনার যদি উইন্ডোজ থাকে তবে আপনি নিম্নলিখিত হিসাবে প্রক্সি যুক্ত করতে পারেন:
আমার ক্ষেত্রে, আমি আমার কনফিগার ফাইলগুলিতে "http: //" সেট করতে ভুলে গিয়েছি (সি: \ ব্যবহারকারীদের \ [USERNAME] \ .npmrc এ পাওয়া যাবে) প্রক্সি অ্যাড্রেসগুলিতে। সুতরাং থাকার পরিবর্তে
proxy=http://[IPADDRESS]:[PORTNUMBER]
https-proxy=http://[IPADDRESS]:[PORTNUMBER]
আমার ছিল
proxy=[IPADDRESS]:[PORTNUMBER]
https-proxy=[IPADDRESS]:[PORTNUMBER]
কোনটি অবশ্যই কাজ করে নি তবে ত্রুটি বার্তাগুলি খুব একটা সাহায্য করে নি ...
এই প্রশ্নের জন্য উপরে অনেক উত্তর রয়েছে, তবে তাদের পক্ষে আমার পক্ষে কাজ হয়নি। প্রত্যেকে http://
উপসর্গ যোগ করার জন্য উল্লেখ করেছে । সুতরাং আমি এটি যোগ। সমস্ত ব্যর্থ।
আমি দুর্ঘটনাক্রমে http://
উপসর্গটি মুছে ফেলার পরে এটি শেষ পর্যন্ত কাজ করে । ফাইনাল কনফিগারেশন এর মত:
npm config set registry http://registry.npmjs.org/
npm config set http-proxy ip:port
npm config set https-proxy ip:port
npm config set proxy ip:port
npm set strict-ssl false
আমি এর পিছনে যুক্তি জানি না, তবে এটি কার্যকর হয়েছিল। উপরের কোনও উত্তর যদি আপনার পক্ষে না আসে তবে সম্ভবত আপনি এই পথে চেষ্টা করতে পারেন। আশা করি এটি কার্যকর হবে।
এসএসএল এবং শংসাপত্রের সমস্যাগুলিতে কার্লের পৃষ্ঠাতে ভাল তথ্য রয়েছে । আমি আমার বেশিরভাগ উত্তর সেখানকার তথ্যের উপর ভিত্তি করে রেখেছি।
কঠোর-এসএসএল মিথ্যা ব্যবহার করা খারাপ অভ্যাস এবং সমস্যা তৈরি করতে পারে। পরিবর্তে আমরা যা করতে পারি তা হ'ল "মাঝখানে মানুষ" শংসাপত্র দ্বারা ইনজেকশনের শংসাপত্র যুক্ত করা হয়।
উইন্ডোজে এটি কীভাবে সমাধান করবেন:
openssl x509 -inform DES -in **rootcert**.cer -out outcert.pem -text
npm config set cafile **C:\Users\username\cacert.pem
npm config set strict-ssl true
রাম রাম! আমরা এটি তৈরি! এখন এনপিএম বুঝতে পারে কীভাবে সংযুক্ত হতে হয়। বোনাস হ'ল আপনি কার্লটিকে একই ক্যাবন্ডল.পিএম ব্যবহার করতে বলতে পারেন এবং এটি এইচটিটিপিও বুঝতে পারে।
আমি যে পদক্ষেপগুলি অনুসরণ করেছি তা এখানে রয়েছে (উইন্ডোজ):
C:\Users\<WIN_USERNAME>\.npmrc
নিম্নলিখিত ঠিকানা থেকে আপনার ফাইল সিস্টেমে শংসাপত্রটি রফতানি করুন: https://registry.npmjs.org
রফতানি শংসাপত্রের স্থানে নেভিগেট করুন এবং নিম্নলিখিত আদেশটি জারি করুন:
npm config set cafile npm_certificate.cer
ফাইলটিতে নিম্নলিখিত পরিবর্তনগুলি যুক্ত করুন:
registry=https://registry.npmjs.org/
strict-ssl=false
https-proxy=http://[proxy_user]:[proxy_password]@[proxy_ip]:[proxy_port]/
cafile=npm_certificate.cer
এখন আপনি যেতে প্রস্তুত করা উচিত!
আমার ইস্যুটি আমার পক্ষে একটি নির্লজ্জ ভুলতে নেমেছিল। যেহেতু আমি একদিন দ্রুত আমার প্রক্সিকে উইন্ডোজ * .bat ফাইল (http_proxy, https_proxy, এবং ftp_proxy) এ ফেলে দিয়েছিলাম, তাই ইউআরএল-এনকোডড ডোমেন-ব্যবহারকারী (% 5 সি) এবং পাসওয়ার্ডের প্রশ্ন চিহ্ন থাকা বিশেষ অক্ষরগুলি এড়িয়ে চলতে ভুলে গিয়েছিলাম '?' (% 3F)। এর অর্থ এটি হ'ল একবার আপনার এনকোডড কমান্ডটি থাকলে ব্যাট ফাইল কমান্ডের '%' এড়াতে ভুলবেন না।
আমি বদলে গেছি
set http_proxy=http://domain%5Cuser:password%3F@myproxy:8080
প্রতি
set http_proxy=http://domain%%5Cuser:password%%3F@myproxy:8080
সম্ভবত এটি প্রান্তের ক্ষেত্রে তবে আশা করি এটি কাউকে সহায়তা করে helps
যখন আমি প্রক্সি সেটিংসে HTTP / HTTP উপসর্গ ছাড়াই দেই এনএমপি ব্যর্থ হয় এমনকি প্রক্সি হোস্ট এবং পোর্ট সঠিক মান ছিল। প্রোটোকল উপসর্গ যোগ করার পরে এটি কাজ করে।
কেবলমাত্র নতুন টার্মিনালটি খুলুন এবং টাইপ করুন npm config edit
এবং npm config -g edit
। ডিফল্টে রিসেট করুন. কাছাকাছি টার্মিনালের পরে, নতুনটি খুলুন এবং npm --without-ssl --insecure --proxy http://username:password@proxy:8080 install <package>
যদি আপনার বিশ্বব্যাপী কেবল যুক্ত করার প্রয়োজন হয় তবে টাইপ করুন -g
।
এটি আমার পক্ষে কাজ করেছে, আশা করি এটি আপনার পক্ষে কাজ করবে :)