จะล้างการตั้งค่าพร็อกซี https ของ NPM ได้อย่างไร?


268

ฉันจะล้างการตั้งค่าพร็อกซี ssl ก่อนหน้าของ NPM ได้อย่างไร ดีฉันค้นหามาก แต่โพสต์ทั้งหมดที่ฉันได้รับส่วนใหญ่เกี่ยวกับวิธีการsetproxy ในเครือข่ายองค์กร

ฉันพยายามตั้งค่า proxy เป็นอะไร:

npm config set http-proxy
npm config set https-proxy

คำสั่งแรกผ่านไป แต่คำสั่งที่สองเตือนว่า:

npm WARN invalid config proxy=""
npm WARN invalid config Must be a full url with 'http://'

เหตุใดจึงถูกเพิกเฉยและฉันได้ล้างการตั้งค่าพร็อกซีเรียบร้อยแล้ว?


7
คุณสามารถลบการตั้งค่าพรอกซีด้วยตนเองจาก<user_dir>/.npmrcไฟล์
Salman

คำตอบ:


432

ไม่มีข้อใดช่วยฉันได้ แต่สิ่งนี้ได้:

npm config rm proxy
npm config rm https-proxy

ที่มา: http://jonathanblog2000.blogspot.ch/2013/11/set-and-reset-proxy-for-git-and-npm.html


ใช้งานได้กับ windows
Leon Africa

2
สามารถใช้npm config listเพื่อตรวจสอบการกำหนดค่าพร็อกซีซึ่งอาจnpm config rm http-proxyจำเป็นเช่นกัน
ทีน่าเฉิน

@Anatolii มีคำตอบสำหรับการล้างการตั้งค่าระดับโลกด้านล่าง rmพารามิเตอร์ไม่ทำงานในรุ่นเก่าnpmสำหรับ Windows - ดู @ คำตอบของอาโรนด้านล่าง
แดน

133

ลองลบด้วย:

npm config delete proxy
npm config delete https-proxy

มันออกคำเตือนเดียวกัน
Allan Ruin

7
ไม่ควรกำหนดค่าพร็อกซี npm ลบหรือไม่
Frank Fu

4
ทำงานบน windows นี้ ลองใช้npm config rm http-proxylinux
Sydwell

42
npm config rm proxy
npm config rm https-proxy
unset HTTP_PROXY
unset HTTPS_PROXY
unset http_proxy
unset https_proxy

ประณามในที่สุดสิ่งนี้จะหลอกลวงใน Debian Jessie ที่ติดตั้ง privoxy (ad remover) ขอบคุณ :-)


นี่เป็นทางออกที่ถูกต้องใน OSX 10.11 ลองทุกอย่างอื่น
Shooky

วิธีนี้ใช้งานได้ แต่ดูเหมือนจะไม่ติดหลังจากออกจากระบบ / รีบูตฉันมีปัญหาเดียวกันอีกครั้ง ใครสามารถอธิบายว่าตัวแปรเหล่านี้จะถูกตั้งไว้ที่ไหน? @privoxyd
Shooky

33

นี่เป็นคำตอบแล้ว แต่ฉันคิดว่า --globalไม่ครอบคลุม

โดยการทำงานnpm config rm proxyที่คุณเอาพร็อกซี่จากการตั้งค่าของผู้ใช้
สิ่งนี้สามารถตรวจสอบได้อย่างง่ายดายโดยการเรียกใช้: npm config list.

หากมีproxyหรือhttps-proxyตั้งค่าในการกำหนดค่าทั่วโลกที่คุณต้องใช้--globalในคำสั่งเพื่อลบมัน

ดังนั้นในตอนท้ายนี้จะทำความสะอาดพร็อกซี่จากการกำหนดค่าทั้งในระดับท้องถิ่นและระดับโลก:

npm config rm proxy
npm config rm https-proxy
npm config --global rm proxy
npm config --global rm https-proxy

2
สิ่งนี้ทั่วโลกทำเคล็ดลับสำหรับฉันในขณะที่เพิ่งลบออกจากการกำหนดค่าผู้ใช้ไม่มีผล ทำงานบนเวอร์ชันเก่าของ NPM #thanksanatolii
Matti.b


21

โดยค่าเริ่มต้นคือการมองหาแพคเกจจากnpm https://registry.npmjs.orgสิ่งที่คุณต้องทำคือแทนที่registryและstrict-sslค่า

npm config set registry "http://registry.npmjs.org"
npm config set strict-ssl false

นี่เป็นวิธีที่ดีในการเอาชนะปัญหาทั้งหมดของ npm ที่อยู่เบื้องหลังพร็อกซี
markau

21

หากคุณอ่านเอกสารการกำหนดค่าnpmมันจะบอกว่า:

หนังสือมอบฉันทะ

ค่าเริ่มต้น: HTTP_PROXY หรือตัวแปรสภาพแวดล้อม http_proxy หรือ null

ประเภท: url

ตามนี้การใช้งานปิดการใช้งานของร็อกซี่, การตั้งค่าจะต้องตั้งค่าproxy nullในการตั้งค่าพร็อกซี null หนึ่งมีเพื่อให้แน่ใจว่าHTTP_PROXYหรือhttp_proxyตัวแปรสภาพแวดล้อมไม่ได้ตั้งค่า ดังนั้นให้ยกเลิกการตั้งค่าตัวแปรสภาพแวดล้อมเหล่านี้และตรวจสอบให้แน่ใจว่าnpm config ls -lแสดงproxy = nullแสดงให้เห็นว่า

นอกจากนี้โปรดทราบว่า:

  • การลบการตั้งค่า http_proxy และ https_proxy เพียงอย่างเดียวจะไม่ช่วยถ้าคุณยังมีตัวแปรสภาพแวดล้อม HTTP_PROXY หรือ http_proxy ถูกตั้งค่าเป็นบางสิ่งและ
  • การตั้งค่ารีจิสทรีเพื่อใช้ http: // และการตั้งค่าเข้มงวด ssl เป็นเท็จจะไม่ช่วยคุณหากคุณไม่ได้อยู่หลังพร็อกซีอยู่ดีและตั้งค่า HTTP_PROXY เป็นสิ่ง

มันจะดีกว่านี้ถ้า npm ได้ทำการตั้งค่าพร็อกซีเป็นบูลีนเพื่อเปิด / ปิดการใช้พร็อกซี หรือพวกเขาสามารถแนะนำการตั้งค่าใหม่use_proxyประเภทบูลีน


3
สิ่งนี้ช่วยฉันได้ข้อเสนอแนะอื่น ๆ ( delete& rm) เพียงลบhttps-proxy& proxyการตั้งค่าสำหรับการกำหนดค่า npm ในเครื่องของคุณ - ไม่ใช่ค่าเริ่มต้นโดยการตั้งค่าเป็นโมฆะมันจะแทนที่การตั้งค่าเริ่มต้นเหล่านี้
Wayne Austin

npm 3 ไม่ให้เกียรติ--proxy=nullอีกต่อไปไม่มีใครรู้รายละเอียด?
C-Otto

3
เพื่อตอบคำถามของฉัน--no-proxyดูเหมือนว่าจะได้ผล
C-Otto

@ C-Otto ขอบคุณมากสำหรับการเขียนคำตอบเดียวที่ทำงานหลังจากชั่วโมงของการต่อสู้หัวของฉัน!
Mustafa Alammar

@ C-Otto ขอบคุณมาก นี่เป็นทางออกเดียวที่ใช้ได้สำหรับฉัน ฉันลองวิธีการแก้ปัญหาอื่น ๆ หลายร้อย แต่ไม่มีอะไรทำงาน '- ไม่มีพร็อกซี่' ทำเคล็ดลับ แต่คุณรู้หรือไม่ว่าเหตุใดจึงเลือกการตั้งค่าพร็อกซีเก่าโดยไม่ใช้ตัวเลือก '- ไม่มีพร็อกซี' และจากที่ใด
Lokesh Jain

21

ฉันใช้คำสั่งด้านล่างเพื่อลบชุดพร็อกซีใด ๆ :

    npm config rm proxy
    npm config rm https-proxy

และมันแก้ปัญหาของฉัน :)



14

ฉันมีปัญหาเดียวกันครั้งเดียว
ทำตามขั้นตอนเหล่านี้เพื่อลบค่าพร็อกซี:

1. ในการลบพร็อกซีใน npm:
(-g เป็นสิ่งสำคัญ)
npm config delete proxy -g
npm config delete http-proxy -g
npm config delete https-proxy -g

ตรวจสอบไฟล์กำหนดค่า npm โดยใช้:
npm config list

2. หากต้องการลบระบบพร็อกซี: set HTTP_PROXY=null set HTTPS_PROXY=null

ตอนนี้ปิดบรรทัดคำสั่งและเปิดเพื่อรีเฟรชตัวแปร (พร็อกซี)


13

ไม่มีอะไรข้างต้นทำงานให้ฉัน ฉันต้องแก้ไขไฟล์ ".npmrc" ซึ่งจะอยู่ภายใต้โฮมไดเรกทอรีผู้ใช้ (เช่น c: \ users \ abcuser):

http_proxy=null
registry=https://registry.npmjs.org/
strict-ssl=true
proxy=null

3
นี้ทำงานสำหรับฉัน ... ต้องการเอาพร็อกซี่ที่เราต้องเปลี่ยนแปลงรีจิสทรีเป็นregistry.npmjs.orgและเข้มงวด SSL เป็นจริง
วิกกี้

ฉันกำลังลองนี้เพื่อดูว่าการตั้งค่า. npmrc เฉพาะสำหรับโครงการของฉันจะแทนที่การตั้งค่าระดับโลกใด ๆ ในผบ. บ้านของผู้ใช้ที่ปิดกั้นเราในสภาพแวดล้อมการสร้างที่ใช้ร่วมกัน
httpete


11

วิธีนี้ใช้ได้ผล

npm config delete http-proxy
npm config delete https-proxy

npm config rm proxy
npm config rm https-proxy

set HTTP_PROXY=null
set HTTPS_PROXY=null

8

วิธีที่ง่ายที่สุดในการลบการกำหนดค่าใด ๆ จาก npm คือการแก้ไขไฟล์การกำหนดค่า npm ใช้เวลาเพียงสองคำสั่งเท่านั้นในการทำเช่นนี้ หนึ่งเพื่อเปิดไฟล์ config npm สำหรับการแก้ไขอีกไฟล์หนึ่งเพื่อยืนยันการเปลี่ยนแปลงของคุณ

  1. พิมพ์npm config listเพื่อดูรายการการกำหนดค่า npm ทั้งหมดที่ใช้งานอยู่
  2. พิมพ์npm config editเพื่อเปิดโปรแกรมแก้ไขข้อความที่มีการกำหนดค่า npm ในการลบบรรทัดพร็อกซี่ (หรือออกความคิดเห็น)
  3. บันทึกไฟล์กำหนดค่าและปิด
  4. พิมพ์npm config listเพื่อยืนยันว่าการกำหนดค่าพร็อกซีถูกลบแล้ว

C'est la vie!

ฉันลองทุกอย่างที่ระบุไว้ในหน้านี้ไม่ทำงานแล้วฉันพยายามแก้ไขการกำหนดค่า มันทำงานได้ทันที (ฉันใช้ Windows 10)


@ Madhan มันเป็นมีดของกองทัพสวิสสำหรับการกำหนดค่า npm
Seun S. Lawal

7
npm config delete proxy -g

ทำงานให้ฉัน

-gมีความสำคัญเนื่องจากเริ่มแรกถูกตั้งค่าด้วยตัวเลือกนั้น คุณสามารถตรวจสอบการกำหนดค่าที่ตั้งด้วย:

npm config list

กำหนดค่าการเขียน npm ด้วย. / etc
venergiac

5

ฉันคิดว่าไม่ใช่ http-proxy แต่เป็น proxy:

npm config set proxy="http://yourproxyhere"

มันแสดงให้เห็นเสมอว่า npm ERR! If you are behind a proxy, please make sure that the npm ERR! 'proxy' config is set properly. See: 'npm help config' ไม่มีตัวเลือกอื่น ๆ ที่ใช้งานได้ อันนี้ใช้ได้ดีที่สุด
Shiyaz


3

มีปัญหาเดียวกันฉันเห็นการกำหนดค่าพร็อกซีของฉันแม้หลังจากลบไฟล์ npmrc และลบกุญแจ

ฉันพบว่า npm ใช้ windows env key http-proxy โดยค่าเริ่มต้น

ดังนั้นไปที่ Computer-> Properties-> การตั้งค่าระบบขั้นสูง -> ตัวแปรสภาพแวดล้อมและตรวจสอบว่าไม่มีการกำหนดค่าคีย์ http-proxy


http-proxyที่น่าสนใจผมตรวจสอบตัวแปรสภาพแวดล้อมและฉันไม่ได้มีสิ่งที่ต้องการ บางทีคำเตือนนั้นอาจถูกละเลยจริงๆ
Allan Ruin

3

ในกรณีของฉัน (Linux Mint 16 ที่ใช้ Ubuntu) ฉันต้อง:

  1. npm config delete https-proxy, และนอกจากนี้ยังมี

  2. ล้างhttps_proxyพารามิเตอร์สภาพแวดล้อมทุบตี - ผิดปกติพอถึงแม้ว่าฉันไม่สามารถหาพฤติกรรมนี้เอกสารได้ทุกที่ทุก fallbacks NPM เพื่อhttps_proxy:

    $ http_proxy='' https_proxy='' npm config get https-proxy
    null
    $ http_proxy='' xxhttps_proxy='' npm config get https-proxy
    https://1.2.3.4:8080

3

ดูการตั้งค่า npm ในไฟล์C:\Users\myusers.npmrcfile บางครั้งการตั้งค่าพร็อกซี npm ไม่สามารถใช้ได้ ดังนั้นมันจึงคุ้มค่าในการตรวจสอบ


3

ลองนี้

กำหนดค่า npm ลบ http-proxy

กำหนดค่า npm ลบ https-proxy

npm config rm proxy

npm config rm https-proxy

ตั้งค่า HTTP_PROXY = null

ตั้งค่า HTTPS_PROXY = null


2
npm config delete http-proxy
npm config delete https-proxy

npm config delete proxy -g
npm config delete http-proxy -g

แล้วก็

npm config get proxy

โมฆะ

ด้วย

npm i -g bower to update

NPM มีข้อผิดพลาดในพร็อกซี


2

รันรายการกำหนดค่า npm มันจะแสดงรายการค่าพร็อกซีทั้งหมด .. ในกรณีที่ค่าพร็อกซีของฉันถูกเรียกแบบฟอร์มไฟล์ทั่วโลก npmrc ลบมันและก็สามารถที่จะติดตั้ง NPM บนเครื่อง windows ของฉัน


1

ฉันเคยใช้

npm config set proxy null
npm config set https-proxy null

และมันก็ได้ผลกับฉันด้วย

ขอแสดงความนับถืออย่างสูง


1

มันใช้งานได้สำหรับฉันเล็กน้อย

proxy=http://<username>:<pass>@proxyhost:<port>

https-proxy=http://<uname>:<pass>@proxyhost:<port>

ตัวอย่างในชื่อผู้ใช้อินสแตนซ์ของฉัน: uname และรหัสผ่าน: pword

npm config set proxy=http://uname:pword@192.168.5.8:8080

npm config set https-proxy=http://uname:pword@192.168.5.8:8080

นี่คือการตั้งค่าเรากำลังมองหาที่ชัดเจนซึ่งเป็นสิ่งที่ตรงกันข้าม
P Satish Patro

1

ฉันดิ้นรนกับสิ่งนี้มานานแล้ว ในที่สุดสิ่งที่ฉันทำคือไปที่ไฟล์. npmrc (ซึ่งสามารถพบได้ในไดเรกทอรีของผู้ใช้ตามด้วยชื่อผู้ใช้เช่น C: \ Users \ erikj / .npmrc) เปิดด้วยตัวแก้ไขข้อความ การตั้งค่าและเปลี่ยนการตั้งค่า http: // เป็น https: // ในกรณีนี้มันเป็นเรื่องของการทดสอบว่า http หรือ https จะทำงานให้คุณได้หรือไม่ ในกรณีของฉัน https ทำงาน ไปคิด


1

ฉันจะออกจากที่นี่เพราะฉันมีปัญหาใหญ่กับ NPM

ผมพยายามที่จะเปลี่ยนการตั้งค่าพร็อกซีใช้แล้ววิ่งnpm config set proxy "http://.../" npm config get proxyมันเป็นการคืนค่าที่ผิดเสมอไปต่างจากที่ฉันตั้งไว้เสมอ

ฉันพบว่าฉันมีความ.npmrcมุ่งมั่นในโครงการที่ฉันพยายามเรียกใช้npm installและไฟล์นี้ของฉันเอง

ดังนั้นการล้างค่าพร็อกซี แต่ฉันก็ต้องเปลี่ยน .npmrcภายในโฟลเดอร์ด้วย

หลังจากนั้นทุกอย่างทำงานได้ดี


1

หากคุณต้องการสลับระหว่างพร็อกซีสำหรับเครือข่าย บริษัท และลบพร็อกซีสำหรับเครือข่ายภายในบ้าน / ส่วนตัวที่คุณสามารถใช้ได้ --no-proxy

ตัวอย่างการใช้งาน:

npm install --save-dev "@angular/animations@8.2.14" --no-proxy

1

ในกรณีของฉัน (windows OS) หลังจากใส่คำสั่งเหล่านั้นไว้ในรายการ npm ยังคงใช้พรอกซีในการตั้งค่ารีจิสทรีของ windows

\ HKEY_CURRENT_USER \ Environment

เพิ่งลบการตั้งค่าพร็อกซีที่นั่นหลังจากนั้นฉันรีสตาร์ทพีซีแล้ว "npm ติดตั้ง" ใช้งานได้สำหรับฉัน

ตัวอย่าง


0

Http Module ไม่รองรับและถูกแทนที่ด้วย HttpClient

เปลี่ยนการนำเข้าของคุณเป็นimport { HttpClientModule } จาก'@angular/common/http';

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.