ค้นหาเว็บไซต์

การอัปเดต TypeScript พร้อมกับการอัปเดต Angular จากเวอร์ชัน 16 เป็น 17


ฉันกำลังพยายามอัปเกรด Angular จากเวอร์ชัน 16 เป็น 17 คู่มือการอัปเกรดกล่าวว่า:

ตรวจสอบให้แน่ใจว่าคุณกำลังใช้เวอร์ชันของ TypeScript ที่รองรับก่อนที่คุณจะอัปเกรดแอปพลิเคชันของคุณ Angular v17 รองรับ TypeScript เวอร์ชัน 5.2 หรือใหม่กว่า

อย่างไรก็ตาม Angular 16 ต้องการ TypeScript >=4.9.3 <5.2 และถ้าฉันรัน npm install -D [email  เพื่อติดตั้ง TypeScript 5.2 หรือรุ่นที่ใหม่กว่าจะได้รับข้อผิดพลาด:

npm warn Could not resolve dependency:
npm warn peer typescript@">=4.9.3 <5.2" from @angular-devkit/[email 

ดังนั้น การอัปเกรด TypeScript จึงล้มเหลวเพราะ Angular 16 ไม่รองรับมัน หากฉันอยู่ในเวอร์ชัน TypeScript ปัจจุบันและรัน ng update @angular/core@17 @angular/cli@17 ฉันจะได้รับข้อผิดพลาดดังต่อไปนี้:

Package "@angular-devkit/build-angular" has an incompatible peer dependency to "typescript" (requires ">=4.9.3 <5.2", would install "5.4.5").
✖ Migration failed: Incompatible peer dependencies found.

ฉันจะออกจากสถานการณ์นี้ได้อย่างไร?

คำตอบ #1

ปัญหาอาจเกิดจากคุณพยายามอัปเดตด้วยเวอร์ชัน Angular CLI ล่าสุด ลองใช้เวอร์ชัน v17 แทน:

npx @angular/cli@17 update @angular/core@17 @angular/cli@17

คำตอบ #2

เกิดความไม่เข้ากันของ peer dependencies กับฉันด้วยเช่นกัน แม้ในสถานการณ์ที่แตกต่างกันเล็กน้อย วิธีแก้ปัญหาการอัปเดต Angular คือ ความขัดแย้งของ peer dependency: @angular/[email บางทีอาจช่วยได้? มีข้อเสนอให้อนุญาต legacy-peer-deps ในไฟล์ .nmprc ของคุณ แต่สำหรับฉัน นั่นไม่ได้ผล อย่างไรก็ตาม การใช้ --force ในคำสั่ง ng update ใช้ได้ (โดยที่ฉันมั่นใจว่าการอัปเดตควรสำเร็จ)

บทความที่เกี่ยวข้อง