ข้อผิดพลาดในการติดตั้ง NPM: การสิ้นสุดของอินพุต JSON ที่ไม่คาดคิดขณะวิเคราะห์ใกล้ '… nt-webpack-plugin“:” 0


209

เมื่อสร้างโครงการ Angular 5 ใหม่:

รุ่นโหนด: 8.9.2

เวอร์ชัน npm: 5.5.1

คำสั่งของฉันคือ

npm install -g @angular/cli

ข้อผิดพลาดคือ

npm ERR! **Unexpected end of JSON input while parsing near '...nt-webpack-plugin":"0'**
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Aashitec\AppData\Roaming\npm-cache\_logs\2017-12-06T13_10_10_729Z-debug.log

บันทึกข้อผิดพลาดคือhttp://www.aashitechno.in/2017-12-06T13_10_10_729Z-debug.log


8
"แคชสะอาด npm --force" โดยไม่มีเครื่องหมายอัญประกาศอาจเป็นคำตอบสำหรับคำถามของคุณ
Bimal

3
@Bimal ใช้npm cache clean --forceงานได้สำหรับฉันขอบคุณ!
tonix

ทำงานให้ฉันแล้วบอกว่าหวังว่าฉันรู้ว่าฉันทำอะไรอยู่ ฉันไม่ได้.
carny666

sudo npm cache clean --force sudo npm cache verify sudo npm i npm@latest -gคำสั่งเหล่านี้ใช้ได้กับฉัน
Zohab Ali

ทำความสะอาดแคช npm - บังคับใช้สำหรับฉันขอบคุณ
Praveen Verma

คำตอบ:


550

วิธีนี้แก้ไขได้สำหรับฉัน:

เปิด Windows Powershell ในฐานะผู้ดูแล

npm cache clean --force
npm install -g @angular/cli

https://devblogs.microsoft.com/premier-developer/getting-started-with-node-js-angular-and-visual-studio-code/


9
ทำงานให้ฉัน! แต่ต้องเปิดเทอร์มินัลในฐานะผู้ดูแลระบบ
Sérgio S. Filho

@McEmmy: ฉันทำตามที่คุณพูดถึง .. แต่มันก็ยังปรากฏออกมาUnexpected token , in JSON at position 366360 while parsing near '... } npm ERR! } npm ERR! }, npm ERR! "webpack-log":...'
Kalanka

@Kalanka คุณสนใจที่จะแบ่งปันหากคุณได้รับการแก้ไขและวิธีการที่คุณทำ?
mcemmy

การเรียกใช้แคช npm ซ้ำ ๆ - บังคับและติดตั้ง npm -g @ angular / cli @ ล่าสุดแก้ไขปัญหาของฉัน การล้างแคช npm ไม่ได้ช่วย
Squapl Recipes

2
ใช้งานได้ แต่เมื่อฉันเรียกใช้ภายใต้C:\Users\[user-name]\AppData\Roaming\npmไดเรกทอรีหลัก
Market

106

สารละลาย:

npm cache clean --force

จากนั้นลองอีกครั้งเพื่อสร้างแอปของคุณ (ที่นี่เมื่อสร้างแอปตอบโต้) หรือติดตั้งสิ่งที่คุณกำลังจะติดตั้ง

create-react-app myproject

(การสร้างแอปแบบตอบโต้) [ปัญหา npm เดียวกันที่อาจเกิดขึ้นในการทำงานที่แตกต่างกัน]

npm install -g @angular/cli@latest

(ติดตั้ง cli เชิงมุม (หรือติดตั้งสิ่งอื่น))

มันจะทำงาน.

คำอธิบาย:

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

ข้อผิดพลาดเกิดขึ้นเมื่อวิเคราะห์ไฟล์แคชหนึ่งไฟล์ซึ่งมีรูปแบบ json พบแคชที่ ~ / .npm / _cacache (ใน linux) และ% AppData% / npm-cache (windows) สำหรับเวอร์ชัน npm ปัจจุบันของฉันและเมื่อฉันตรวจสอบมีสามไดเรกทอรี
ป้อนคำอธิบายรูปภาพที่นี่

หากคุณตรวจสอบครั้งแรกหรือครั้งที่สองโครงสร้างจะเป็นดังนี้ ป้อนคำอธิบายรูปภาพที่นี่

และไฟล์แคชแต่ละไฟล์มีรูปแบบ json (และสิ่งที่แยกวิเคราะห์) ป้อนคำอธิบายรูปภาพที่นี่

นี่คือลิงค์ที่ดีจากเอกสาร: https://docs.npmjs.com/cli/cache

[อัปเดต] นอกจากนี้หากไม่สามารถแก้ปัญหาได้คุณสามารถตรวจสอบคำตอบได้ที่นี่https://stackoverflow.com/a/50191315/7668448 เพื่อแสดงวิธีการเปลี่ยนรีจิสตรี npm ซึ่งมีประโยชน์ ตรวจสอบและดู


คำตอบที่ดีขอบคุณมากฉันสงสัยว่าทำไมสิ่งนี้จึงเกิดขึ้นและฉันสงสัยว่าไฟล์ของฉันเกิดความเสียหายเนื่องจากการเชื่อมต่ออินเทอร์เน็ตที่ไม่ดีซึ่งทำให้ไฟล์แคชเสียหายเนื่องจากการดาวน์โหลดไม่สมบูรณ์อาจเป็นจริง
Charles

1
ใช่และไม่แน่ใจ ใช่นั่นเป็นปัญหาในอดีต ตามหัวข้อปัญหานี้github.com/npm/npm/issues/4652 แต่พวกเขาทำงานกับมัน ตอนนี้ฉันไม่แน่ใจอาจแก้ไขได้ ทุกอย่างขึ้นอยู่กับการนำไปใช้งานและวิธีการที่ npm จัดการทุกขั้นตอนตั้งแต่การดึงไปจนถึงการแคชจนถึงการติดตั้ง ตอนนี้ฉันไม่มีเวลาผ่านไปแล้ว แต่ฉันอธิบายคำถามนี้อย่างถี่ถ้วนแล้วทำการวิจัย ฉันจะเขียนบทความและอัปเดตคำตอบในภายหลังเมื่อเสร็จแล้ว รู้ว่าพวกเขาอาจมีเหตุผลอื่นที่ทำให้เกิดข้อผิดพลาดจากนั้นแคชเสียหาย
Mohamed Allal

2
ดูdocs.npmjs.com/common-errors#invalid-json สำหรับปัญหาสตรีมี verdaccio ที่หนึ่งสามารถลองgithub.com/verdaccio/verdaccio ให้คำแนะนำตามหัวข้อเหล่านั้นgithub.com/npm/npm/issues/21181 , github.com/npm/npm/issues/21112 และนี่คือหัวข้อเกี่ยวกับแคชและวิธีที่พวกเขากำลังจะย้ายgithub.com/npm/npm/issues/4652 อีกบทความหนึ่งที่เป็นประวัติศาสตร์ตอนนี้infoworld.com/article/3198746/javascript/… . ฉันแจ้งให้คุณทราบเมื่อฉันเสร็จสิ้นการวิจัยและการเขียนบทความ
Mohamed Allal

นี่คือกระทู้ที่น่าสนใจ: นี่คือกระทู้ที่น่าสนใจgithub.com/yarnpkg/yarn/issues/393
Mohamed Allal

1
ปัญหาสร้างความรำคาญให้ฉันชั่วครู่หนึ่งและกลับด้วยข้อผิดพลาดที่สอดคล้องกัน ขอบคุณที่โพสต์นี้ฉันลบสองโฟลเดอร์และตอนนี้สิ่งต่าง ๆ ทำงานได้อย่างถูกต้องสำหรับฉัน! ขอบคุณ
Jim Yu

33

ถ้า

npm cache clean --force

ไม่ทำงาน ลอง

npm cache clean --force
npm update

1
คำตอบนี้ควรได้รับคะแนนโหวตเพิ่มขึ้น การอัปเดตเป็นขั้นตอนที่สำคัญและฉันก็เสียเวลาเกือบ 3 ชั่วโมงเพราะฉันไม่สามารถหาคำตอบนี้ได้
Vaibhav Gautam

1
ตั้งแต่เดือนพฤษภาคม 2020 นี่เป็นทางออกเดียวที่ทำงานได้อย่างสมบูรณ์แบบตามที่คาดไว้สำหรับข้อผิดพลาดของเวิร์กโฟลว์
Akhil

1
ไม่ต้องสงสัยเลยว่ามันเป็นคำตอบที่สมบูรณ์แบบแน่นอน ทางออกเดียวสำหรับฉัน
นาย Noddy

1
1 จากฉันเกินไปก็ทำงานที่ยอดเยี่ยมและแน่นอนโซลูชั่นเดียวที่ทำงานหลังจากที่สูญเสียวันของการพยายามที่จะแก้ไขทุกอย่างอื่น ...
nickast

1
มันใช้งานได้สำหรับฉันตั้งแต่เดือนมิถุนายน 2020 โปรดโหวตคำตอบนี้
Gulsan Borbhuiya

15

Npm ใช้ Cache เพื่อดาวน์โหลดแพ็คเกจใหม่ให้คุณ คุณต้องล้างแคช npm ของคุณ ใช้คำสั่งต่อไปนี้เพื่อทำความสะอาด:

npm cache clean --force

จากนั้นใช้คำสั่งการติดตั้ง npm ตามปกติเช่น

npm install -g @angular/cli

10

ลบโฟลเดอร์ npm และ npm-cache ใน C: \ Users \ admin \ AppData \ Roaming \ (windows) จากนั้นเรียกใช้ cmd

แคช NPM ชัดเจน - บังคับ

ตรวจสอบแคช NPM

อัปเดต npm เป็นเวอร์ชันล่าสุด

npm ฉัน -g npm

จากนั้นสร้างโครงการของคุณ 1) เชิงมุม

npm i -g @ angular / cli @ ล่าสุด

ใหม่ HelloWorld

2) การตอบสนอง

npm i -g create-react-app

create-react-app react-app


9

ฉันแก้ปัญหาด้วย

npm cache clean --force

จากนั้นอัปเดต npm

npm i npm@latest -g

จากนั้นใช้คำสั่งการติดตั้ง npm ของคุณตามปกติ

npm install 


6

ฉันใช้ Windows และลบไฟล์ทั้งหมดที่ระบุไว้ด้านล่างและปัญหาของฉันได้รับการแก้ไข C: \ Users {{your-username}} \ AppData \ Roaming \ npm-cache



5

npm cache clean --force ทำงานให้ฉัน

แก้ไขข้อผิดพลาด:

$ NPM ติดตั้ง -g อึก NPM WARN gulp-util@3.0.8 เลิก: อึก-util เลิก - แทนที่การปฏิบัติตามหลักเกณฑ์ที่https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5 NPM ERR! ไม่คาดหวังจุดสิ้นสุดของอินพุต JSON ขณะแยกวิเคราะห์ใกล้ '... / RGs88STtAtiMP3tCiNdU'

npm ข้อผิดพลาด! บันทึกที่สมบูรณ์ของการทำงานนี้สามารถพบได้ใน: npm ERR! C: \ Users \ Admin \ AppData \ Roaming \ NPM-cache_logs \ 2018-11-20T07_38_56_733Z-debug.log


3

คำสั่งนี้เพียงอย่างเดียวแก้ไขปัญหาของฉัน:

npm cache clean --force

นอกจากนี้คุณควรตรวจสอบให้แน่ใจว่าคุณใช้โหนดรุ่นที่ถูกต้อง

การใช้nvmเพื่อจัดการเวอร์ชันโหนด:

nvm list; # check your local versions;
nvm install 10.10.0; # install a new remote version;
nvm alias default 10.10.0; # set the 10.10.0 as the default node version, but you have to restart the terminal to make it take effect;

3

สารละลาย

npm cache clean --force

สำหรับ Windows: ไปที่C:\Users\username\AppData\Roaming\npm-cache
ลบไฟล์ทั้งหมดและเรียกใช้

npm install && npm start

3

ฉันแก้ไขได้โดยทำความสะอาดแคชก่อนโดยใช้

npm cache clean --force

แล้วก็

npm install -g @angular/cli

2

มันเป็นข้อผิดพลาดจาก npm ของคุณ ....

ดังนั้น unistall node และติดตั้งอีกครั้ง

มันได้ผล....

PS: หลังจากติดตั้งโหนดอีกครั้งติดตั้ง cli เชิงมุมทั่วโลก

npm install -g @angular/cli@latest

2

ฉันแก้ไขปัญหาด้วยสายการบินเดียว

npm cache clean --force

มันใช้งานได้อย่างมีเสน่ห์ตลอดเวลา ฉันรักหนึ่งสมุทร หมายเหตุ: เนื่องจากเป็นการติดตั้งใหม่ทั้งหมดฉันจึงไม่กังวลว่าจะล้างแคช npm


2

ข้อผิดพลาด: npm ERR! ไม่คาดหวังจุดจบของการป้อนข้อมูล JSON ขณะแยกวิเคราะห์ใกล้ '... ore-js ":" 3.0.0-beta.1

สิ่งนี้เกิดขึ้นเมื่อติดตั้ง expo CLI ทั่วโลกสิ่งนี้ใช้ได้สำหรับฉัน!

npm cache clean --force

2

ฉันได้รับข้อผิดพลาด ( file already exists --force to overwrite) หลังจากเรียกใช้รหัสต่อไปนี้:

npm cache clean --force
npm install -g @angular/cli

ฉันแก้ไขโดยใช้:

npm i -g --force npm

ตรวจสอบให้แน่ใจว่าได้รันคำสั่งแรกเพื่อล้างแคชของ npm




1

กรณีของฉัน - Windows 7 (ไม่มีอะไรดีขึ้นในเวลาที่ต้องการ) ช่วยฉันในสิ่งต่อไปนี้:

  1. ลบทุกอย่างออกจาก C: \ Users \ ชื่อผู้ใช้ \ AppData \ Roaming \ npm-cache

และ

  1. การลบ package-lock.json

0

แทนที่จะล้างแคชคุณสามารถตั้งค่าโฟลเดอร์ชั่วคราว:

npm install --cache /tmp/empty-cache

หรือ

npm install --global --cache /tmp/empty-cache

ตั้งแต่ npm @ 5, การแคชในตัวเองของ npm จากปัญหาการทุจริตและข้อมูลที่สกัดจากแคชนั้นรับประกันว่าถูกต้อง หากคุณต้องการแน่ใจว่าทุกอย่างสอดคล้องกันให้ใช้npm cache verifyแทน ในทางกลับกันหากคุณกำลังดีบักปัญหาด้วยตัวติดตั้งคุณสามารถใช้npm install --cache /tmp/empty-cacheเพื่อใช้แคชชั่วคราวแทนการดักจับสิ่งที่เกิดขึ้นจริง



0

ฉันประสบปัญหานี้และฉันพยายามตอบทั้งหมดใน Stackoverflow แต่ไม่ได้ผลสำหรับฉันในที่สุดฉันก็พบวิธีแก้ปัญหาสำหรับปัญหานี้:

  • ก่อนอื่นคุณต้องถอนการติดตั้ง nodejs และลบไฟล์ทั้งหมดที่เกี่ยวข้อง
  • ไปที่ "ลงทะเบียน Editor" และค้นหา "nodejs", "node.js" ทั้งหมดและลบออก
  • รีสตาร์ทคอมพิวเตอร์ของคุณ
  • และติดตั้งใหม่ nodejs แล้วติดตั้งเชิงมุม

มันใช้งานได้สำหรับฉัน


0

หากnpm cache clean --forceไม่สามารถแก้ไขปัญหาได้ให้ลองลบ~/.npmไดเรกทอรี (* nix / macOS) นี่คือไดเรกทอรีที่โหนดเก็บแคช, ล็อค, บันทึก, แพคเกจทั่วโลก (ยกเว้นกรณีที่คุณกำลังใช้NVM ) npxและโมดูลติดตั้งผ่าน

ก่อนสำรองปัจจุบันของคุณ ~./npmไดเรกทอรี :

mv ~/.npm ~/.npm-backup

ตอนนี้ลองรันคำสั่ง npm ของคุณอีกครั้ง สิ่งนี้จะสร้าง~/.npmไดเรกทอรีใหม่ หากปัญหาได้รับการแก้ไขคุณสามารถลบข้อมูลสำรองของคุณได้อย่างปลอดภัย ก่อนที่จะทำเช่นนั้นคุณอาจต้องการตรวจสอบแพ็คเกจทั่วโลกที่ติดตั้งใน~/.npm-backupไดเรกทอรีของคุณเพื่อให้คุณสามารถติดตั้งใหม่ได้โดยใช้npm i -g [package]ไดเรกทอรีเพื่อให้คุณสามารถติดตั้งได้โดยใช้

rm -rf ~/.npm-backup

หากปัญหาไม่ได้รับการแก้ไขคุณสามารถคืนค่าสำเนาสำรองของคุณ:

rm -rf ~/.npm
mv ~/.npm-backup ~/.npm

ระวังrmคำสั่งเหล่านั้นด้วย!


0

คำสั่งเหล่านี้ใช้ได้สำหรับฉัน

sudo npm cache clean --force

sudo npm cache verify

sudo npm i npm@latest -g


-2

หลังจากนี้ npm cache clean --force

อาจเป็นเพราะคุณสามารถวางสายหรือรอการดำเนินการต่อไปได้

npm WARN ใช้ - บังคับใช้ฉันหวังว่าคุณจะรู้ว่าคุณกำลังทำอะไรอยู่

ดังนั้นคุณสามารถใช้อันนี้ได้ วิธีนี้แก้ไขปัญหาของฉัน

npm ติดตั้ง --cache / tmp / empty-cache

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