angular - ฉันควรติดตั้ง peer-dependencies ทั้งหมดด้วยตนเองเพื่อกำจัดคำเตือนของ npm หรือไม่?
ฉันติดตั้งแพ็กเกจ Angular หลายตัวผ่าน npm และฉันได้รับคำเตือนนี้:
@angular/[email requires a peer of typescript@>=3.1.1 <3.3
but none is installed.
You must install peer dependencies yourself.
a) ความแตกต่างระหว่าง peer dependency และ just dependency คืออะไร?
b) ตอนนี้ฉันควรติดตั้งอะไรเพื่อแก้ไขคำเตือน?
ฉันหมายถึง สมมติว่าฉันติดตั้งแพ็กเกจ "P" ฉันรู้ แต่ P นี้ต้องการ X, Y และ Z ฉันควรติดตั้งมันด้วยตัวเองไหม? มันดูไม่ค่อยเจ๋งเลย...
จริงๆ แล้ว ฉันติดตั้ง Angular แต่ Angular ต้องการ compiler-clr และเวอร์ชันล่าสุดต้องการ typescript
เมื่อฉันเห็นคำเตือนนี้ ฉันได้ติดตั้ง npm install typescript มันติดตั้งเวอร์ชัน [email compiler-clr ต้องการ typescript@<3.3 ตอนนี้ฉันควรทำอย่างไร?
ฉันควรวิเคราะห์ว่าเวอร์ชันของ TypeScript ไหนออกมาก่อน 3.3 และต่อไป สำหรับคำเตือนทั้งหมดประเภทนี้หรือไม่?
คำตอบ #1
a) การพึ่งพาของเพื่อนร่วมงานของการพึ่งพาอื่นหมายความว่าผู้ก่อนหน้านี้ สามารถติดตั้งควบคู่กับผู้หลังได้ ในขณะที่การพึ่งพาของการพึ่งพาอื่น ติดตั้งผู้ก่อนหน้าพร้อมกับผู้หลัง โดยไม่ต้องให้คุณทำอะไร
ตรวจสอบคำถามใน Stack Overflow นี้เพื่อข้อมูลเต็มเกี่ยวกับความแตกต่างระหว่าง peerDependencies และ dependencies
b) แพ็กเกจ @angular/compiler-cli (GitHub) มีความต้องการเพียร์ของ typescript ตั้งแต่เวอร์ชัน 3.1.1 ถึงต่ำกว่า 3.3.x.
ฉันแนะนำให้คุณรัน npm i -D typescript@~3.2.0 ในโฟลเดอร์หลักของโปรเจกต์ของคุณเพื่อติดตั้ง v3.2.x ในช่วง minor ของ semver (semantic versioner) (ดูคู่มือ semver ของ NPM สำหรับข้อมูลเพิ่มเติม)
คำสั่ง npm i -D typescript@~3.2.0 ทำสิ่งต่อไปนี้:
iบ่งบอกว่าคุณกำลังติดตั้งแพ็กเกจ- แฟลก
-Dระบุว่าคุณกำลังติดตั้งแพ็กเกจและเพิ่มมันลงในวัตถุdevDependenciesในpackage.jsonของคุณ typescript@~3.2.0ระบุว่าคุณต้องการติดตั้งแพ็กเกจtypescriptในช่วงเวอร์ชัน3.2.xโดยที่xเป็นตัวเลข@~x.x.xระบุว่าคุณต้องการติดตั้ง"ใกล้เคียงกับเวอร์ชัน [ที่ระบุ (x.x.x ในกรณีนี้)]" - npm-package.json | เอกสารประกอบ npm
หากคุณยังมีคำถามใด ๆ หรือถ้าคุณไม่เข้าใจอะไร กรุณาคอมเมนต์คำถามของคุณใต้คำตอบนี้ ฉันจะพยายามช่วยโดยการตอบกลับโดยเร็วที่สุด หวังว่าคำตอบนี้จะเป็นประโยชน์