ข้อผิดพลาดใน Angular Compiler ต้องการ TypeScript> = 3.1.1 และ <3.2.0 แต่พบ 3.2.1 แทน


159

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

ข้อผิดพลาดใน Angular Compiler ต้องการ TypeScript> = 3.1.1 และ <3.2.0 แต่พบ 3.2.1 แทน

ดูเหมือนว่า typescript ที่อัปเดตแล้ว แต่ Angular Compiler ไม่ชอบสิ่งนั้น

ฉันจะแก้ไขสิ่งนี้ได้อย่างไร


2
ปรับลด typescript หรืออัพเกรดเชิงมุม
ShamPooSham

1
Angular 7 แก้ไขปัญหานี้ ฉันเดาว่าเวอร์ชั่นของคุณคือ Angular คือ 6
carkod

เพิ่งรู้ว่ามีคนไม่กี่คนที่ตั้งคำถามคล้าย ๆ กับคำถามนี้ แค่อยากใส่ลิงค์ไปยังคำตอบของฉันที่นี่เพราะฉันรู้สึกว่ามันเพียงพอที่จะตอบมันstackoverflow.com/a/57216166/10959940
gojun

คำตอบ:


209

ในการแก้ไขปัญหานี้ให้ติดตั้ง typescript เฉพาะเวอร์ชัน 3.1.6

npm i typescript@3.1.6 --save-dev --save-exact

1
ก่อนหน้านั้นฉันต้องอัปเดต node.js และเวอร์ชัน npm บนระบบของฉันเพื่อให้ทำงานได้
Pipo

ไม่มีใครรู้ว่าสิ่งที่ปรับปรุงรุ่น typescript เป็น 3.2.x ในสถานที่แรก? เป็นเพราะมันเพิ่งจะเป็นเวอร์ชั่นใหม่ล่าสุดในวันนี้ - และบางสิ่งในไฟล์แพ็คเกจของฉันที่ต้องการมันคือ 'ไม่มีข้อ จำกัด ' ดังนั้นจึงอนุญาตให้อัปเดต - แต่รุ่น 'อนุญาต' ของ Angular maxes ที่ <3.2? นั่นเป็นเหตุผลทำไม
Simon_Weaver

ฉันสับสนกับเวอร์ชั่นเชิงมุมที่รองรับ TS 3.2 เวอร์ชันแรกคือ 7.2.0 ซึ่งขณะนี้อยู่ในสถานะ RC0 ดังนั้นจึงไม่ได้อัปเดตเป็นเวอร์ชั่นนั้นด้วยตนเอง
Simon_Weaver

153

ในกรณีของฉันด้านล่างคำสั่งทำงานสำหรับ windows มันจะติดตั้งเวอร์ชันที่ต้องการล่าสุดระหว่าง 3.1.1 และ 3.2.0 ขึ้นอยู่กับระบบปฏิบัติการให้ใช้เครื่องหมายคำพูดคู่หรือเดี่ยว

npm install typescript@">=3.1.1 <3.2.0" 

9
เพิ่งมีสิ่งนี้เกิดขึ้นกับฉัน (Angular 7.3.2 แต่ Debian มี typescript 3.3.1 แล้ว) และคำตอบนี้อร่อยที่สุดเพราะฉันไม่จำเป็นต้องคิดออกว่าเป็นรุ่นล่าสุดที่ตรงกับเกณฑ์ที่ Angular จัดให้
karora

2
npm install typescript @ "> = 3.2.0 <3.3.0"
ลุค

1
สำหรับ Mac ทำงานได้เหมือน npm install typescript @ '> = 3.1.1 <3.3.0'
Gomes Inês

6
ใช้งานได้สำหรับฉัน :) ฉันใช้การติดตั้ง typescript @ "> = 3.4.0 และ <3.5.0" --save-dev - ประหยัดแน่นอน
Naveen Kumar V

26

ก่อนติดตั้งเวอร์ชันเป้าหมายของคุณ

npm i typescript@3.1.6 --save-dev --save-exact

จากนั้นก่อนที่จะรวบรวมทำ

   npm i


13

หากคุณต้องการใช้ Angular กับเวอร์ชัน TypeScript ที่ไม่สนับสนุนให้เพิ่มส่วนนี้ลงในของคุณtsconfig.jsonเพื่อละเว้นคำเตือน:

  "angularCompilerOptions": {
    "disableTypeScriptVersionCheck": true,
  },

7

ข้อผิดพลาดใน Angular Compiler ต้องการ TypeScript> = 3.4.0 และ <3.6.0 แต่พบ 3.6.3 แทน

สำหรับข้อผิดพลาดนี้คุณยังสามารถกำหนดช่วงรุ่น:

yarn add typescript@">=3.4.0 <3.6.0" --save-dev --save-exact

หรือสำหรับ npm

npm install typescript@">=3.4.0 <3.6.0" --save-dev --save-exact

หลังจากติดตั้งเวอร์ชันของ typescript ที่ถูกต้อง:

  1. ลบnode_modulesโฟลเดอร์
  2. เรียกใช้yarn installหรือnpm install
  3. รวบรวมและข้ามนิ้วของคุณ xD

3

มีข้อผิดพลาดที่คล้ายกันจากบันทึกข้อผิดพลาดของ CircleCi

"ข้อผิดพลาดใน Angular Compiler ต้องการ TypeScript> = 3.1.1 และ <3.3.0 แต่พบ 3.3.3333 แทน"

เพียงแค่คุณรู้ว่าสิ่งนี้ไม่ส่งผลกระทบต่อแอปพลิเคชัน Angular แต่ข้อผิดพลาดของ CircleCi เริ่มน่ารำคาญ ฉันกำลังเรียกใช้ Angular 7.1

ฉันวิ่ง: $ npm ฉัน typescript@3.1.6 --save-dev - บันทึกตรงเพื่ออัปเดตไฟล์ package-lock.json

จากนั้นฉันก็วิ่ง: $ npm ฉัน

หลังจากนั้นฉันวิ่ง: $ npm แก้ไขการตรวจสอบ

"ข้อความผิดพลาด CircleCi นี้" หายไป ดังนั้นมันใช้งานได้


0

สำหรับข้อผิดพลาดดังต่อไปนี้:

ข้อผิดพลาดใน Angular Compiler ต้องการ TypeScript> = 3.4.0 และ <3.6.0 แต่พบ 3.6.3 แทน

รันคำสั่ง NPM ต่อไปนี้:

$ npm install typescript@3.5.3

ลิงค์ที่มา


2
วิธีการที่ดีกว่าจะให้เขาช่วงนี้yarn add typescript@">=3.4.0 <3.6.0" --save-dev --save-exactหรือ npm install typescript@">=3.4.0 <3.6.0" --save-dev --save-exactNPM
Florian

0

ฉันยังประสบปัญหาที่คล้ายกันเมื่อพยายามที่จะทำหน้าที่ ฉันสามารถแก้ไขได้ดังนี้
บันทึก:

C:\Windows\system32> is on windows command prompt
C:\apps\workspace\testProj>  is on VS code Terminal (can also be doable in another command prompt)

ต่อไปนี้เป็นขั้นตอนที่ฉันใช้เพื่อแก้ไขปัญหานี้ ขั้นที่ 1

ตรวจสอบรุ่น cli ที่ติดตั้งบนพรอมต์คำสั่ง (จะเป็นรุ่นสากลของ Angular CLI)

C:\Windows\system32>ng --version

CLI เชิงมุม: 8.3.13

หากติดตั้ง cli ไว้ก่อนหน้านี้จะแสดงเวอร์ชัน cli ทั่วโลก

หาก cli ไม่ได้ติดตั้งเราอาจได้รับข้อผิดพลาด
ng ไม่ได้รับการยอมรับว่าเป็นคำสั่งภายในหรือภายนอก

(ขั้นตอนเพิ่มเติม) Install Angular CLI global version

C:\Windows\system32>npm install -g @angular/cli
C:\Windows\system32>npm install -g @angular-cli/latest

ข ตรวจสอบเวอร์ชั่นอีกครั้ง

C:\Windows\system32>ng --version
Angular CLI: 8.3.13

ขั้นตอนที่ 2. ตรวจสอบรุ่น cli ท้องถิ่นที่ติดตั้งในโครงการเชิงมุมของคุณ (รหัสรหัส VS หรือคำสั่งให้ซีดีโครงการโครงการของคุณ)

C:\apps\workspace\testProj>ng --version
Angular CLI: 7.3.8

หมายเหตุ: เวอร์ชันที่ชัดเจนไม่ได้ซิงค์ ทำสิ่งต่อไปนี้ในโครงการเชิงมุมของคุณ

C:\apps\workspace\testProj>ng update @angular/cli        -> important to sync with global cli version

หมายเหตุ : ถ้าอัพเกรด donot ทำงานโดยใช้คำสั่งด้านบน (อ้างอิง: วิธีอัปเกรด Angular CLI เป็นเวอร์ชันล่าสุด ) พร้อมรับคำสั่งบนuninstall global angular cli, clean the cache and reinstall the cli

C:\Windows\system32>npm uninstall -g angular-cli
C:\Windows\system32>npm cache clean or npm cache verify #(if npm > 5)
C:\Windows\system32>npm install -g @angular/cli@latest

ตอนนี้อัพเดตเวอร์ชันโปรเจ็กต์โลคัลของคุณเนื่องจากเวอร์ชัน cli ของโปรเจ็กต์โลคัลของคุณมีลำดับความสำคัญสูงกว่าโกลบอลเมื่อคุณพยายามรันโปรเจ็กต์ของคุณ

C:\apps\workspace\testProj>rm -rf node_modules
C:\apps\workspace\testProj>npm uninstall --save-dev angular-cli
C:\apps\workspace\testProj>npm install --save-dev @angular/cli@latest
C:\apps\workspace\testProj>npm install
C:\apps\workspace\testProj>ng update @angular/cli

ขั้นตอนที่ 3 ตรวจสอบว่าเวอร์ชัน cli ของโปรเจ็กต์ท้องถิ่นซิงค์กับโกลบอลหรือไม่

C:\Windows\system32>ng --version
Angular CLI: 8.3.13

C:\apps\workspace\testProj>ng --version
Angular CLI: 8.3.13

ขั้นที่ 4 . ตรวจสอบความถูกต้องของโครงการอีกครั้ง

C:\apps\workspace\testProj>ng serve

ควรทำงานตอนนี้

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