เมื่อฉันพยายามติดตั้งแพคเกจด้วย npm ไม่ได้ผล หลังจากรอมานานในที่สุดฉันก็ได้รับข้อผิดพลาด 'ไม่สามารถสร้างซ็อกเก็ตอุโมงค์ sutatusCode = 403'
$ npm install coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm ERR! Error: tunneling socket could not be established, sutatusCode=403
npm ERR! at ClientRequest.onConnect (c:\Program Files\nodejs\node_modules\npm\node_modules\request\tunnel.js:148:19)
npm ERR! at ClientRequest.g (events.js:193:14)
npm ERR! at ClientRequest.EventEmitter.emit (events.js:123:20)
npm ERR! at Socket.socketOnData (http.js:1393:11)
npm ERR! at TCP.onread (net.js:403:27)
อย่างไรก็ตามเมื่อฉันเรียกดู URL เดียวกันนั้นในเว็บเบราว์เซอร์ (Google Chrome) มันโหลดได้ดี (ดูเชิงอรรถ) https://registry.npmjs.org/coffee-script
เกิดอะไรขึ้น?
แม้ว่าฉันจะใช้พร็อกซี https แต่ฉันมั่นใจว่านี่ไม่ใช่ปัญหา ฉันได้กำหนดค่าตัวแปรสภาพแวดล้อมแล้วhttps_proxy
(ตามคู่มือผู้ใช้ npm ) ฉันรู้ว่าตัวแปรสภาพแวดล้อมถูกต้องเนื่องจากตัวจัดการแพ็คเกจ Python ทำpip
ตามอย่างถูกต้อง
ฉันเชื่อว่าปัญหาเกี่ยวข้องกับใบรับรอง SSL เนื่องจากหากฉันดาวน์โหลด URL นั้นด้วยwget
ฉันจะได้รับข้อผิดพลาดที่ชัดเจนเกี่ยวกับใบรับรอง
$ wget https://registry.npmjs.org/coffee-script
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = c:/progra~1/wget/etc/wgetrc
--2012-12-17 12:14:07-- https://registry.npmjs.org/coffee-script
Resolving corpproxy... 10.254.215.35
Connecting to corpproxy|10.254.215.35|:8080... connected.
ERROR: cannot verify registry.npmjs.org's certificate, issued by `/C=US/ST=CA/L=Oakland/O=npm/OU=npm Certificate Authority/CN=npmCA/emailAddress=i@izs.me':
Unable to locally verify the issuer's authority.
To connect to registry.npmjs.org insecurely, use `--no-check-certificate'.
Unable to establish SSL connection.
ฉันจะแก้ไขปัญหานี้ได้อย่างไร? โดยไม่สูญเสียความปลอดภัย
ฉันเคยได้รับข้อผิดพลาดใบรับรอง SSL ในเว็บเบราว์เซอร์ของฉันเช่นกันจนกระทั่งฉันติดตั้งใบรับรอง 'npmCA' เป็น 'ผู้ออกใบรับรองหลักที่เชื่อถือได้' ในตัวเลือกอินเทอร์เน็ตของแผงควบคุม (ภาพหน้าจอ)
แก้ไข: ฉันลองวิธีแก้ปัญหาที่ไม่ปลอดภัยต่อhttps://npmjs.org/doc/config.html#strict-ssl
npm set strict-ssl false
แต่ก็ยังหมดเวลาด้วยข้อผิดพลาดเดิม
$ npm install coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm ERR! Error: tunneling socket could not be established, sutatusCode=403