ใช้ng --version
ฉันได้:
@ เชิงมุม / cli: 1.0.0
ซึ่งไม่ใช่รุ่นล่าสุดที่มีให้
เนื่องจากฉันได้ติดตั้ง Angular CLI ทั่วโลกในระบบของฉันเพื่อที่จะอัปเกรดฉันได้ลอง:
npm update angular-cli -g
แต่ไม่ได้ผลเพราะยังคงเป็นเวอร์ชัน 1.0.0
ใช้ng --version
ฉันได้:
@ เชิงมุม / cli: 1.0.0
ซึ่งไม่ใช่รุ่นล่าสุดที่มีให้
เนื่องจากฉันได้ติดตั้ง Angular CLI ทั่วโลกในระบบของฉันเพื่อที่จะอัปเกรดฉันได้ลอง:
npm update angular-cli -g
แต่ไม่ได้ผลเพราะยังคงเป็นเวอร์ชัน 1.0.0
คำตอบ:
หลังจากอ่านปัญหาบางอย่างที่รายงานในที่เก็บ GitHub ฉันพบวิธีแก้ปัญหา
ในการอัปเดตแพ็คเกจ angular-cli ที่ติดตั้งทั่วโลกในระบบของคุณคุณต้องเรียกใช้:
npm uninstall -g @angular-cli
npm install -g @angular/cli@latest
sudo
ทั้งนี้ขึ้นอยู่กับระบบของคุณคุณอาจจะต้องมีคำนำหน้าคำสั่งข้างต้นด้วย
นอกจากนี้คุณมักจะต้องการอัปเดตเวอร์ชันโปรเจ็กต์ในพื้นที่ของคุณด้วยเนื่องจากในไดเร็กทอรีโปรเจ็กต์ของคุณจะถูกเลือกโดยมีลำดับความสำคัญสูงกว่าโกลบอล:
rm -rf node_modules
npm uninstall --save-dev @angular-cli
npm install --save-dev @angular/cli@latest
npm install
ขอบคุณgrizzm0สำหรับการชี้นี้ออกมาบนGitHub
หลังจากอัปเดต CLI ของคุณคุณอาจต้องการอัปเดตเวอร์ชัน Angular ของคุณด้วย
หมายเหตุ : หากคุณกำลังปรับปรุงเพื่อเชิงมุม CLI 6+ จากรุ่นเก่าที่คุณอาจจำเป็นต้องอ่านนี้
แก้ไข : นอกจากนี้หากคุณยังคงอยู่ในรุ่น 1.x ของ CLI คุณต้องแปลงของคุณangular-cli.json
เพื่อangular.json
ที่คุณสามารถทำอะไรกับคำสั่งดังต่อไปนี้:
ng update @angular/cli --from=1.7.4 --migrate-only
(ตรวจสอบนี้สำหรับรายละเอียดเพิ่มเติม)
--force
ธง
ng6 + -> 7.0
อัปเดต RxJS (ขึ้นอยู่กับ RxJS 6.3)
npm install -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json
ลบ rxjs-compat
จากนั้นอัปเดตแพ็คเกจหลักและ Cli:
ng update @angular/cli @angular/core
(ทางเลือก: อัปเดต Node.js เป็นเวอร์ชัน 10 ซึ่งรองรับใน NG7)
ng6 + (Cli 6.0+) : มีคำสั่งที่ง่ายขึ้น
ขั้นแรกอัปเดต Cli ของคุณ
npm install -g @angular/cli
npm install @angular/cli
ng update @angular/cli
จากนั้นอัปเดตแพ็คเกจหลักของคุณ
ng update @angular/core
หากคุณใช้ RxJS ให้เรียกใช้
ng update rxjs
มันจะอัปเดต RxJS เป็นเวอร์ชัน 6 และติดตั้งrxjs-compat
แพ็คเกจภายใต้ประทุน
หากคุณพบข้อผิดพลาดในการสร้างให้ลองติดตั้งด้วยตนเองของ:
npm i rxjs-compat
npm i @angular-devkit/build-angular
สุดท้ายตรวจสอบเวอร์ชันของคุณ
ng v
หมายเหตุเกี่ยวกับการสร้างการผลิต:
ng6 ไม่ใช้intl
ในpolyfills.ts
//remove them to avoid errors
import 'intl';
import 'intl/locale-data/jsonp/en';
ng5 + (คลิ 1.5+)
npm install @angular/{animations,common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router}@next typescript@2.4.2 rxjs@'^5.5.2'
npm install typescript@2.4.2 --save-exact
บันทึก:
หลังจากอัปเดตทั้งแพ็คเกจส่วนกลางและภายในแล้วให้ล้างแคชเพื่อหลีกเลี่ยงข้อผิดพลาด:
npm cache verify (recommended)
npm cache clean (for older npm versions)
นี่คือข้อมูลอ้างอิงอย่างเป็นทางการ:
npm cache clean --force
ช่วยฉันได้จริงๆ
คุณสามารถใช้
npm install -g angular-cli
- ถ้าเป็นครั้งแรกของคุณ
npm install -g @angular/cli@latest
- หากคุณติดตั้งแล้วเพื่อทำการอัปเดต
คำสั่งนี้ใช้งานได้ดี:
npm upgrade -g @angular/cli
วิธีการต่อไปนี้ใช้ได้ผลสำหรับฉัน:
npm uninstall -g @angular/cli
แล้ว
npm cache verify
แล้ว
npm install -g @angular/cli@latest
ฉันทำงานบน Windows 10 บางครั้งฉันก็ต้องใช้: npm cache clean --force
เช่นกัน คุณไม่จำเป็นต้องทำหากคุณไม่มีปัญหาใด ๆ ในระหว่างการติดตั้ง
@latest
เนื่องจากค่าล่าสุดเป็นค่าเริ่มต้น
ถ้าคุณมีปัญหาใด ๆ ในการจัดการของคุณCLI โลกรุ่นมันจะดีกว่าที่จะใช้ NVM: MAC , ของ Windows
ในการอัปเดตCLIในเครื่องในโครงการ Angular ของคุณให้ทำตามขั้นตอนนี้:
เริ่มต้นจากCLI v6คุณสามารถเรียกใช้ng update
เพื่อให้การอ้างอิงของคุณอัปเดตเป็นเวอร์ชันใหม่โดยอัตโนมัติ
ng update @angular/cli
ในng update
บางครั้งคุณอาจต้องการเพิ่ม--force
ค่าสถานะ
คุณยังสามารถส่งผ่าน--all
แฟล็กเพื่ออัปเกรดแพ็คเกจทั้งหมดได้ในเวลาเดียวกัน
ng update --all --force
หากคุณต้องการเพียงแค่โยกย้าย CLI ให้เรียกใช้สิ่งนี้:
ng update @angular/cli --migrateOnly
นอกจากนี้คุณยังสามารถส่งผ่านธง--from=from
- --from=1.7.4
รุ่นที่จะโยกย้ายจากเช่น แฟล็กนี้ใช้ได้เฉพาะกับแพ็กเกจเดียวที่กำลังอัพเดตและเฉพาะเมื่อโอนย้ายเท่านั้น
หลังจากอัปเดตเสร็จแล้วตรวจสอบให้แน่ใจว่าเวอร์ชันของ typescript ที่คุณติดตั้งรองรับโดยเวอร์ชันเชิงมุมปัจจุบันของคุณมิฉะนั้นคุณอาจต้องดาวน์เกรดเวอร์ชัน typescript โปรดทราบว่าโดยปกติ angular เวอร์ชันล่าสุดจะไม่รองรับ typescript เวอร์ชันล่าสุด
ตรวจสอบ
Angular CLI / Angular / NodeJS / Typescript
เวอร์ชันที่เข้ากันได้ที่นี่
ดูคู่มือนี้ด้วยการอัปเดตโปรเจ็กต์เชิงมุมของคุณและupdate.angular.io
คำตอบเก่า:
สิ่งที่คุณต้องทำก็คือทำให้แตกต่างกับangular-cli-diffและใช้การเปลี่ยนแปลงในโครงการปัจจุบันของคุณ
นี่คือขั้นตอน:
File changed
แท็บnpm install
/ yarn
npm scripts
( รายละเอียดเพิ่มเติมที่นี่: https://stackoverflow.com/a/45431592/415078 )นอกจากนี้ในการตอบ @ShinDarth
ฉันทำตามที่เขาพูด แต่แพ็คเกจของฉันไม่ได้อัปเดตเวอร์ชันเชิงมุมและฉันรู้ว่าโพสต์นี้เกี่ยวกับangular-cli
แต่ฉันคิดว่าสิ่งนี้สามารถช่วยได้เช่นกัน
-ng new projectname
สร้างแพ็คเกจขึ้นมา-npm install
จากนั้นก็วิ่งตอนนี้ของฉันng serve
กำลังทำงานอีกครั้งอาจมีวิธีที่ดีกว่าในการทำทั้งหมดนั้นถ้ามีใครรู้โปรดแชร์เพราะนี่เป็นความเจ็บปวดที่ต้องทำกับโครงการทั้งหมดที่ต้องอัปเดต
ในการอัปเดตAngular CLIเป็นเวอร์ชันใหม่คุณต้องอัปเดตทั้งแพ็กเกจส่วนกลางและแพ็กเกจโลคัลของโปรเจ็กต์ของคุณ
แพ็คเกจทั่วโลก:
npm uninstall -g @angular/cli
npm cache clean
# if npm version is > 5 then use `npm cache verify` to avoid errors (or to avoid using --force)
npm install -g @angular/cli@latest
แพ็คเกจโครงการท้องถิ่น:
rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell
npm install --save-dev @angular/cli@latest
npm install
ที่มา: Github
ในกรณีของฉันฉันได้ติดตั้ง angular-cli ในเครื่องโดยใช้การติดตั้ง npm --save-dev angular-cli ดังนั้นเมื่อผมใช้คำสั่ง NPM ติดตั้ง -G @ เชิงมุม / CLI ก็สร้างข้อผิดพลาดบอกว่า"รุ่นเชิงมุม CLI โลกของคุณ (1.7.3) มีค่ามากกว่ารุ่นท้องถิ่นของคุณ (1.4.9)" โปรดทราบว่า angular-cli, @ angular / cli และ @ angular / cli @ latest เป็นสอง cli ที่แตกต่างกัน สิ่งที่แก้ได้คือถอนการติดตั้ง cli ทั้งหมดแล้วติดตั้ง angular cli ล่าสุดโดยใช้npm install -g @ angular / cli @ latest