npm ไม่ทำงานหลังจากล้างแคช


127

ก่อนล้างแคช

npm cache clear

npm ทำงานได้ดี หลังจากล้างแคชแล้วมันไม่ทำงาน บันทึกข้อผิดพลาดด้านล่างแสดงถึงปัญหาเกี่ยวกับการเชื่อมต่ออินเทอร์เน็ต แต่การเชื่อมต่ออินเทอร์เน็ตก็ใช้ได้ ปัญหานี้ไม่ได้เกิดขึ้นเฉพาะกับ bower แต่สำหรับโมดูลใด ๆ

นี่คือผลลัพธ์ของกระบวนการ:

> sudo npm install -g bower Password: npm http GET
> https://registry.npmjs.org/bower npm http GET
> https://registry.npmjs.org/bower npm http GET
> https://registry.npmjs.org/bower npm ERR! network connect ETIMEDOUT
> npm ERR! network This is most likely not a problem with npm itself npm
> ERR! network and is related to network connectivity. npm ERR! network
> In most cases you are behind a proxy or have bad network settings. npm
> ERR! network npm ERR! network If you are behind a proxy, please make
> sure that the npm ERR! network 'proxy' config is set properly.  See:
> 'npm help config'
> 
> npm ERR! System Darwin 12.5.0 npm ERR! command
> "/usr/local/Cellar/node/0.10.16/bin/node" "/usr/local/bin/npm"
> "install" "-g" "bower" npm ERR! cwd /Users/username npm ERR!
> node -v v0.10.16 npm ERR! npm -v 1.3.8 npm ERR! syscall connect npm
> ERR! code ETIMEDOUT npm ERR! errno ETIMEDOUT npm ERR! npm ERR!
> Additional logging details can be found in: npm ERR!    
> /Users/username/npm-debug.log npm ERR! not ok code 0

คุณทราบหรือไม่ว่าอะไรเป็นสาเหตุของปัญหา - คุณใช้พร็อกซีเพื่อเชื่อมต่อกับภายนอกหรือไม่
ali haider

1
คำถามนี้ถามเกี่ยวกับ "npm cache clear" แต่เนื้อหาของคำถามจะแสดงผลลัพธ์จาก "npm install" แทนซึ่งรายงาน ETIMEOUT อย่างชัดเจน ข้อผิดพลาดเนื่องจาก OP ไม่ได้รับการชี้แจงในเวลาประมาณ 2 ปีฉันคิดว่าคำถามนี้ควรปิด
Mark Stosberg

คำตอบ:


144

สิ่งนี้ใช้ได้ผลสำหรับฉัน:

npm cache clean --force 

7
สิ่งนี้ใช้ไม่ได้กับฉันใน Windows 10 (ไม่มีข้อผิดพลาดไม่ได้ทำอะไรเลย) ฉันต้องลบโฟลเดอร์ทั้งหมดภายในด้วยตนเอง%appdata%\npm-cache
plasmid87

ขอบคุณทำงานกับคอมพิวเตอร์ของฉันด้วย - บังคับเพิ่ม (ชนะ 10)
Murat ÖNER

2
npm WARN using --force I sure hope you know what you are doing.ระวังการใช้กำลังเจไดตัวน้อย
Brenno Leal

133

มันควรจะเป็น

npm cache clean  

ดูhttps://docs.npmjs.com/cli/cache.html


25
คำตอบนี้อาจถูกต้องในขณะนั้นเมื่อ npm อยู่ที่เวอร์ชัน 1.3.8 ตามที่กล่าวไว้ในคำถาม อย่างไรก็ตามในnpm 2.8.3และnpm 3.3.0 "clear" เป็นนามแฝงที่เงียบสำหรับ "clean" ดังนั้นมันจะทำสิ่งเดียวกัน
Mark Stosberg

ไม่พบทรัพยากรในลิงก์ที่แชร์ของคุณ
Prageeth godage

61

"ณ วันที่ npm @ 5 แคช npm สามารถรักษาตัวเองจากปัญหาความเสียหายและข้อมูลที่ดึงออกจากแคชได้รับการรับรองว่าใช้ได้หากคุณต้องการให้แน่ใจว่าทุกอย่างสอดคล้องกันให้ใช้

npm cache verify

แทน."


21
"cache" และ "รับประกันว่าใช้ได้" ไม่อยู่ในประโยคเดียวกัน
gburton

1
@gburton นี่คือเอกสาร npm ที่คัดลอกมาจากเทอร์มินัลโดยตรง
RBZ

18
ฉันเดาว่าข้อความจาก NPM ไม่ถูกต้อง ไม่มีอะไรรับประกันว่าจะรักษาตัวเองได้ เราไม่ได้อาศัยอยู่ในดินแดนแห่งเวทมนตร์
gburton

@RBZ โปรดใส่คำสั่งที่คุณใช้สร้างคำสั่งช่วยเหลือนั้น
JosephHarriott

1
@JosephHarriott คุณสามารถรัน npm cache clean เพื่อดูข้อความที่แน่นอน
นีล


10

ฉันพยายามที่จะ

npm cache clean 

แต่ npm กล่าวว่าเวอร์ชันใหม่กว่าใน npm (> 5) มีกลไกการรักษาตัวเองและทุกสิ่งที่ฉันต้องทำเพื่อตรวจสอบ npm คือใช้การตรวจสอบ

npm cache verify

ข้อความ npm:

The npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. 

If you want to make sure everything is consistent, use 'npm cache verify' instead.

แต่สำหรับการบังคับ npm ให้ใช้สิ่งนี้:

npm cache clean --force


6

ลองnpm cache clean --forceถ้าไม่ได้ผลให้ลบ%appdata%\npm-cacheโฟลเดอร์ด้วยตนเอง

มันได้ผลสำหรับฉัน


1

เส้นทางสภาพแวดล้อมอาจถูกลบออก

ตรวจสอบโดยพิมพ์

npm config get prefix

ต้องเป็นตำแหน่งที่พบไบนารี npm

ในหน้าต่างc:/users/username/AppData/Roaming/npmเป็นสถานที่ที่พบ

เพิ่มตำแหน่งนี้ให้กับตัวแปรสภาพแวดล้อม มันควรจะทำงานได้ดี

(แผงควบคุม -> ค้นหา 'ตัวแปรสภาพแวดล้อม' และคลิกที่ปุ่มที่มีชื่อนั้น -> แก้ไขเส้นทาง -> เพิ่มตำแหน่งด้านบน)


ซึ่งไม่น่าเป็นปัญหาอย่างยิ่ง
Alexis Tyler


0

ฉันแก้ไขปัญหานี้โดยเรียกใช้ cmd ในฐานะผู้ดูแลระบบ ก่อนหน้านั้นฉันพยายามเรียกใช้ใน vs code

เรียกใช้ใน Power Shell หรือ Cmd ด้วยสิทธิ์ระดับผู้ดูแลระบบ ฉันหวังว่ามันจะช่วยได้

npm install g @angular/cli@latest

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