จะถอนการติดตั้ง / อัพเกรด Angular CLI ได้อย่างไร?


111

เมื่อฉันพยายามสร้างโครงการใหม่ด้วยAngular CLIด้วย:

ng n app

ฉันได้รับข้อผิดพลาดนี้:

fs.js: 640 return binding.open (pathModule._makeLong (path), stringToFlags (แฟล็ก), โหมด); ^ TypeError: เส้นทางต้องเป็นสตริงหรือบัฟเฟอร์ที่ TypeError (เนทีฟ)

ฉันจะอัพเกรดหรือถอนการติดตั้งAngular CLI ได้อย่างไร?


6
ใช้npm uninstall -g angular-cli
ranakrunal9

8
ตอนนี้ใช้npm uninstall -g @angular/cli ( stackoverflow.com/questions/43070441/… )
Jeremy Moritz

คำตอบ:


305

ใช้คำสั่งต่อไปนี้เพื่อถอนการติดตั้ง:

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

ในการตรวจสอบ: ng --version / * คุณจะได้รับข้อความแสดงข้อผิดพลาดจากนั้นคุณได้ถอนการติดตั้ง * /

ใช้คำสั่งต่อไปนี้เพื่อติดตั้งใหม่:

npm install -g @angular/cli

หมายเหตุ: - การใช้ - บังคับเพื่อล้างแคชทั้งหมด - ใน Windows ให้เรียกใช้สิ่งนี้โดยใช้ผู้ดูแลระบบ - บน Mac ให้ใช้sudo ( $ sudo <command>)

  • หากคุณใช้npm>5คุณอาจต้องใช้การตรวจสอบแคชแทน ( $ npm cache verify)

11
โปรดทราบว่า Angular CLI ได้ย้ายไปที่ @ angular / cli: [sudo] npm install -g @ angular / cli
Osmund Francis

5
npm cache clean ถูกแทนที่ด้วย npm cache verfy ดังนั้นดูเหมือนว่า
Arnd Brugman

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

วิธีถอนการติดตั้ง angular cli เวอร์ชั่นล่าสุดและติดตั้ง angular cli 1.6.1
Ayyappa amara

3
@NaomG รุ่น npm> 5 ไม่จำเป็นต้องให้คุณล้างแคช .. แต่ถ้าคุณต้องการให้รันnpm cache clean --force
Ashish Yadav

29

วิธีแก้ปัญหาข้างต้นเพียงอย่างเดียวไม่ได้ผลสำหรับฉัน ใน Windows 7 ใช้งานได้:

ติดตั้งRapid Environment Editorและลบรายการใด ๆ สำหรับโหนดnpm, angular-cli or @angular/cli

ถอนการติดตั้ง node.js และติดตั้งใหม่ เรียกใช้ Rapid Environment Editor อีกครั้งและตรวจสอบให้แน่ใจว่า node.js และ npm อยู่ในเส้นทางระบบหรือผู้ใช้ของคุณ ถอนการติดตั้ง ng เวอร์ชันที่มีอยู่ด้วย:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

ลบC:\Users\YOU\AppData\Roaming\npm\node_modules\@angularโฟลเดอร์

รีบูตจากนั้นในที่สุดก็เรียกใช้:

npm install -g @angular/cli

จากนั้นกลั้นหายใจแล้ววิ่ง ng -v ถ้าคุณโชคดีคุณจะได้รับความรัก กลั้นหายใจทุกครั้งที่คุณเรียกใช้คำสั่ง ng เนื่องจาก 'command not found' ปรากฏขึ้นอีกครั้งอย่างน่าอัศจรรย์สำหรับฉันหลายครั้งหลังจากที่ ng ทำงานได้ดีและฉันคิดว่าปัญหาได้รับการแก้ไขแล้ว


ง่ายยิ่งขึ้น: stackoverflow.com/questions/43070441/…
Jeremy Moritz


6

ลบการอ้างอิงส่วนกลาง

npm uninstall -g angular-cli
npm cache clean

แต่ข้อผิดพลาดเหมือนกัน ใครมีวิธีแก้ปัญหาสำหรับ fs.js: 640 return binding.open (pathModule._makeLong (path), stringToFlags (แฟล็ก), mode); ^ TypeError: path ต้องเป็นสตริงหรือบัฟเฟอร์ที่ TypeError (เนทีฟ) ที่ Object.fs.openSync (fs.js: 640: 18) ที่ Object.fs.readFileSync (fs.js: 508: 33)
RohanArihant

นี่เป็นข้อผิดพลาดทั่วไปที่อาจเป็นอะไรก็ได้ไม่มีการอ้างอิงหรือการกำหนดค่าผิด ดีกว่าที่จะถามเกี่ยวกับเรื่องนี้github.com/angular/angular.js/issues BTW ด้านบนเป็นวิธีถอนการติดตั้งเชิงมุม
AT

เพิ่ม '--force' ต่อท้ายโดยไม่มีเครื่องหมายคำพูดเดียว
Dale


4

วิ่งเข้าไปในตัวเองเมื่อเร็ว ๆ นี้บน Mac มีการลบโฟลเดอร์ ng /usr/local/binจาก นานมาแล้วที่ฉันติดตั้ง Angular CLI ฉันไม่แน่ใจทั้งหมดว่าฉันติดตั้งมันอย่างไรในตอนแรก


2

หากต้องการถอนการติดตั้งทั่วโลกเพียงแค่เรียกใช้คำสั่งด้านล่าง:

npm uninstall -g @angular/cli

เมื่อเสร็จแล้วให้ล้างแคชของคุณโดยเรียกใช้คำสั่งด้านล่าง:

npm cache clean

ตอนนี้ในการติดตั้ง Angular เวอร์ชัน latset ให้เรียกใช้:

npm install -g @angular/cli@latest

สำหรับรายละเอียดเกี่ยวกับ Angular CLI โปรดดูที่Angular Introduction และ CLI guide


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

2

ฉันลองทำทุกอย่างข้างต้นแล้วและยังคงเกาะติดทั่วโลก ดังนั้นใน powershell ฉันวิ่งGet-Command ngแล้วมันก็ชัดเจนว่าปัญหาของฉันคืออะไร ฉันใช้เส้นด้ายอย่างหนักในอดีตและแพ็คเกจ cli เชิงมุมแบบเก่าทั้งหมดได้รับการติดตั้งทั่วโลกในตำแหน่งแคชของเส้นด้าย ฉันลบแคชเส้นด้ายเพื่อการวัดที่ดี แต่อาจเพิ่งอัปเดต cli เชิงมุมทั่วโลกผ่านเส้นด้าย ไม่ว่าในกรณีใดฉันหวังว่านี่จะช่วยเตือนคุณบางคนว่าหากคุณใช้เส้นด้ายคำสั่ง global เช่น ng ก็สามารถอยู่ในเส้นทางอื่นนอกเหนือจากที่ npm วางไว้


2

วิธีแก้ปัญหาปกติซึ่งไม่ได้ผลเสมอไป:

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli

วิธีแก้ปัญหาที่รุนแรงอื่น ๆ :

  • ถอนการติดตั้งAngular CLIทั่วโลก
npm uninstall -g @angular/cli
  • ถอนการติดตั้งNode.jsและnpmถอนการติดตั้ง
  • ลบตัวแปรสภาพแวดล้อมทั้งหมดที่เกี่ยวข้องกับNode.js&npm
  • ลบโฟลเดอร์C:\Users\<user>\AppData\Roaming\npmและC:\Users\<user>\AppData\Roaming\npm-cache
  • ตรวจสอบว่าคำสั่งเหล่านี้คือ ko:
ng version
npm -v
node -v
npm install -g @angular/cli
  • สุดท้ายตรวจสอบเวอร์ชัน Angular CLI ทั่วโลกของคุณ:
ng version

1

สอดคล้องกับคำตอบมากมายข้างต้นแม้ว่าฉันจะมีปัญหาที่ฉันไม่สามารถสร้างแอพใหม่ด้วย angular cli 9.1.0 บน Mac OS 10.15.3 ปัญหาของฉันได้รับการแก้ไขโดยการถอนการติดตั้ง angular cli ทำความสะอาดแคชและติดตั้ง angular cli อีกครั้ง

npm uninstall -g @angular/cli

ตรวจสอบสถานะการติดตั้งด้วย ng --version

npm cache verify
npm install -g @angular/cli

ลองสร้างแอพใหม่ด้วยng new my-appตอนนี้เพื่อดูว่าข้างต้นช่วยได้หรือไม่



0

ไม่ใช่คำตอบสำหรับคำถามของคุณ แต่เป็นคำตอบสำหรับปัญหาที่คุณกล่าวถึง:

ดูเหมือนว่าคุณมีไฟล์ Configuragion ไม่ถูกต้องสำหรับเวอร์ชัน angular-cli ที่คุณใช้

ในไฟล์ angular-cli.json ให้ลองเปลี่ยนสิ่งต่อไปนี้:

จาก:

  "environmentSource": "environments/environment.ts",
  "environments": {
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
  }

ถึง:

  "environments": {
    "source": "environments/environment.ts",
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
  }




-2

วิธีแก้ปัญหาที่ง่ายที่สุดในการทำงานต่อในโปรเจ็กต์ของคุณคือ comment บรรทัดที่ 25ของnode_modules / angular-cli / bin / ng :

// Version.assertPostWebpackVersion();

จนกว่าจะได้รับการแก้ไขอย่างเหมาะสม


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