जवाबों:
मैंने इस समस्या को इस तरह हल किया:
मैं यह आदेश चलाता हूं:
npm config set strict-ssl false
फिर https के बजाय http के साथ चलने के लिए npm सेट करें:
npm config set registry "http://registry.npmjs.org/"
तब मैं इस सिंटैक्स का उपयोग करके पैकेज स्थापित करता हूं:
npm --proxy http://username:password@cacheaddress.com.br:80 install packagename
username:password
यदि प्रॉक्सी को प्रमाणित करने की आवश्यकता नहीं है तो भाग को छोड़ दें
संपादित करें: मेरे एक दोस्त ने बताया कि आप एनपीएम को BOTH HTTP_PROXY और HTTPS_PROXY पर्यावरण चर सेट करके एक प्रॉक्सी के पीछे काम करने के लिए प्राप्त कर सकते हैं , फिर सामान्य रूप से कमांड npm इंस्टॉल एक्सप्रेस (उदाहरण के लिए) जारी करना
EDIT2: जैसा कि @BStruthers ने टिप्पणी की है, ध्यान रखें कि "@" वाले पासवर्ड को सही ढंग से पार्स किया जाना चाहिए, अगर इसमें @ पूरा पासवर्ड उद्धरण में रखा गया है
my@password
, तो my%40password
पासवर्ड भाग के लिए आपकी .npmrc फ़ाइल होनी चाहिए । इसे उद्धरणों में रखना कुछ मामलों में काम करता है, लेकिन इसे कूटना मूर्खतापूर्ण है।
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 में जोड़ा ताकि जब भी मैं एक टर्मिनल खोलूं, मुझे पता है कि मेरा npm आज तक है!
बस अपनी ~/.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 config और फिर स्थापित 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, पावरशैल का उपयोग करके) और नोड के अंतिम संस्करण उपलब्ध हैं। (v8.1.2) उपरोक्त सभी ने काम नहीं किया, सिवाय इसके जब मैंने ब्रूनोवेगो सेटिंग्स का पालन किया ।
इसलिए अपनी सेटिंग्स की जाँच करें:
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/
URL के लिए यह बहुत महत्वपूर्ण है कि बैकस्लैश या # जैसे किसी विशेष वर्ण को एनकोड किया जाए
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/
हालाँकि मैंने कॉन्फ़िगर के साथ प्रॉक्सी सेट किया था, समस्या हल नहीं हुई थी, लेकिन इसके बाद मेरे लिए एक काम किया:
npm --https -xy 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/
इससे मेरी समस्या हल हो गई।
अंत में अलग-अलग जवाबों को बांधने के बाद, @Kayvar की पहली चार पंक्तियों ने मुझे इस मुद्दे को हल करने में मदद की:
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 प्रॉक्सी सेट करें।
C: \ Users \ .npmrc में .npmrc खोजने का प्रयास करें
फिर खोलें (नोटपैड), लिखें और अंदर सहेजें:
proxy=http://<username>:<pass>@<proxyhost>:<port>
PS: "<" और ">" को हटा दें !!
मेरे लिए भले ही अजगर आदि सभी काम करेंगे, हालांकि हमारे कॉर्पोरेट प्रॉक्सी npm नहीं होंगे।
मैंने कोशिश की
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/
जैसा कि निर्देश दिया गया था लेकिन वही त्रुटि मिलती रही।
यह केवल तभी था जब मैंने
.npmrc फ़ाइल से हटा दिया
https-proxy https://proxyccc.xxx.ca:8080
था कि npm इलेक्ट्रॉन - save-dev काम करता है
https-proxy
शायद नहीं है https:
। कम से कम, प्रत्येक के लिए एक ही पोर्ट होना शायद सही नहीं है, लेकिन मुझे लगता है कि वे दोनों शायद एक ही मूल्य रखते हैं।
विंडोज सिस्टम पर
प्रॉक्सी और रजिस्ट्री सेटिंग्स को हटाने का प्रयास करें (यदि पहले से सेट है) और कमांड लाइन पर पर्यावरण चर के माध्यम से सेट करें
SET HTTP_PROXY=http://username:password@domain:port
SET HTTPS_PROXY=http://username:password@domain:port
तो npm स्थापित चलाने के लिए प्रयास करें। इसके द्वारा, आप .npmrc में प्रॉक्सी सेट नहीं करेंगे, लेकिन उस सत्र के लिए यह काम करेगा।
SET HTTP_PROXY http://username:password@domain:port
लेकिन SET HTTP_PROXY=http://username:password@domain:port
काम करने के लिए स्विचिंग लग रहा था
Cmd या GIT बैश या अन्य प्रॉम्प्ट पर कमांड का उपयोग करें
$ npm कॉन्फिगर सेट प्रॉक्सी " http://192.168.1.101:4128 "
$ npm कॉन्फिग सेट https-प्रॉक्सी " http://192.168.1.101:4128 "
जहाँ 192.168.1.101 प्रॉक्सी आईपी है और 4128 पोर्ट है। अपनी प्रॉक्सी सेटिंग के अनुसार बदलें। मेरे लिए यह काम करता है।
बहुत सारे एप्लिकेशन (जैसे npm) उपयोगकर्ता पर्यावरण चर से प्रॉक्सी सेटिंग का उपयोग कर सकते हैं।
आप बस अपने वातावरण में निम्नलिखित चर HTTP_PROXY और HTTPS_PROXY जोड़ सकते हैं जो एक-दूसरे के लिए समान मान रखेंगे
http: // उपयोगकर्ता: पासवर्ड @ proxyAddress: proxyPort
उदाहरण के लिए यदि आपके पास विंडोज है तो आप अनुसरण के रूप में प्रॉक्सी जोड़ सकते हैं:
मेरे मामले में, मैं अपनी कॉन्फिग फाइलों में "http: //" सेट करना भूल गया (C: \ Users \ [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
मैं इसके पीछे तर्क नहीं जानता, लेकिन यह काम किया। यदि उपरोक्त में से कोई भी उत्तर आपके लिए काम नहीं करता है, तो शायद आप इस तरह से कोशिश कर सकते हैं। आशा है कि यह उपयोगी है।
SSL और प्रमाणपत्र मुद्दों पर कर्ल के पेज पर अच्छी जानकारी है । मैं अपने जवाब का अधिकांश हिस्सा वहां की जानकारी पर देता हूं।
सख्त-एसएसएल झूठी का उपयोग करना बुरा अभ्यास है और इससे समस्याएं पैदा हो सकती हैं। इसके बजाय हम जो कर सकते हैं, उसे "मिडिल में आदमी" सर्टिफिकेट द्वारा इंजेक्ट किया जा रहा है।
विंडोज पर इसे कैसे हल करें:
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
ओह! हमने इसे बनाया! अब npm समझ सकता है कि कैसे कनेक्ट करना है। बोनस यह है कि आप कर्ल को उसी कैबंडेल.पेम का उपयोग करने के लिए कह सकते हैं और यह HTTPs को भी समझेगा।
यहां वे चरण हैं जिनका मैंने अनुसरण किया है (Windows):
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), मैं url- एन्कोडेड डोमेन \ उपयोगकर्ता (% 5C) और पासवर्ड के लिए विशेष वर्ण से बचना भूल गया था '?' (% 3F)। यह कहना है, एक बार जब आपके पास एन्कोडेड कमांड है, तो बैट फाइल कमांड में '%' से बचना न भूलें।
मैं बदल गया
set http_proxy=http://domain%5Cuser:password%3F@myproxy:8080
सेवा
set http_proxy=http://domain%%5Cuser:password%%3F@myproxy:8080
शायद यह एक किनारे का मामला है लेकिन उम्मीद है कि यह किसी की मदद करता है।
जब मैं प्रॉक्सी सेटिंग्स में HTTP / http उपसर्ग के बिना देता हूं npm तब भी विफल रहा जब प्रॉक्सी होस्ट और पोर्ट सही मान थे। यह प्रोटोकॉल उपसर्ग जोड़ने के बाद ही काम किया।
बस नया टर्मिनल खोलें और टाइप करें npm config edit
और npm config -g edit
। डिफ़ॉल्ट पर पुनः सेट करें। उस करीबी टर्मिनल के बाद, नया खोलें और टाइप करें npm --without-ssl --insecure --proxy http://username:password@proxy:8080 install <package>
यदि आपको विश्व स्तर पर बस जोड़ने की आवश्यकता है -g
।
यह मेरे लिए काम किया है, आशा है कि यह आपके लिए काम करेगा :)