วิธีดูแผนผังการพึ่งพาของโมดูล npm ที่กำหนด?


145

ฉันจะทำให้แผนผังของโมดูลพร้อมใช้งานเป็น npm แต่ไม่ได้ติดตั้งไว้ภายในเครื่องได้

npm llทำงานสำหรับแพ็คเกจที่ติดตั้งภายในเครื่อง แต่มันไม่ทำงานสำหรับโมดูลที่ไม่ได้ติดตั้งหรือโมดูลที่ติดตั้งทั่วโลก

ฉันพยายามnpm list bowerแต่นั่นไม่ใช่

คำตอบ:


112

คุณสามารถใช้npm-remote-lsโมดูล คุณสามารถติดตั้งได้ทั่วโลก:

npm install -g npm-remote-ls

จากนั้นโทร:

npm-remote-ls bower

อีกทางหนึ่งnpm@5.2.0ติดตั้งแล้วคุณสามารถใช้npxและหลีกเลี่ยงการติดตั้งคำสั่งทั่วโลก - เพียงโทร:

npx npm-remote-ls bower

8
วิธีดูโมดูลที่ขึ้นอยู่กับโมดูลที่กำหนด
orad

2
ยังจำเป็นหรือไม่ แม้มีเวอร์ชันใหม่กว่าของ npm
Simon_Weaver

1
สำหรับรุ่นที่ระบุคุณสามารถใช้ไวยากรณ์นี้ได้npm-remote-ls primeng@1.0.0-beta.7
Simon_Weaver

2
@orad: ถ้าเป็นสิ่งที่คุณติดตั้งไว้ npm ls
Paul Lynch

132

คุณสามารถสร้างแผนผังการพึ่งพา NPM โดยไม่จำเป็นต้องติดตั้งการพึ่งพาโดยใช้คำสั่ง

npm list

สิ่งนี้จะสร้างแผนผังการพึ่งพาสำหรับโครงการที่ไดเรกทอรีปัจจุบันและพิมพ์ไปยังคอนโซล

คุณสามารถรับแผนภูมิการพึ่งพาของการพึ่งพาที่เฉพาะเจาะจงเช่น:

npm list [dependency]

นอกจากนี้คุณยังสามารถตั้งค่าระดับความลึกสูงสุดโดยการทำ

npm list --depth=[depth]

โปรดทราบว่าคุณสามารถดูแผนผังการพึ่งพาของการพึ่งพาที่คุณได้ติดตั้งแบบโกลบอลหรือแบบโลคัลกับโปรเจ็กต์ NPM


11
คนที่สองของคุณพิมพ์เฉพาะแพ็คเกจที่ขึ้นอยู่กับ [การพึ่งพา] แต่มันจะไม่พิมพ์การพึ่งพาของ [การพึ่งพา] โอพียังกล่าวโดยเฉพาะว่านั่นไม่ใช่สิ่งที่เขาต้องการ
FINDarkside

7
ใช้-prodเพื่อแสดงรายการการขึ้นต่อกันของการผลิตเท่านั้น (และไม่มี devDependencies)
pcworld

3
รายการ npm และ npm ls ทั้งสองอ่านโฟลเดอร์ node_modules คุณจะไม่สามารถรับทรีโดยไม่ต้องติดตั้งการขึ้นต่อกันก่อน
worc

รายการ npm --depth = 1 สำหรับหนึ่งระดับ
mintedsky

81

ไซต์นี้อนุญาตให้คุณดูแผนผังแพ็คเกจเป็นกราฟโหนดในแบบ 2D หรือ 3D

http://npm.anvaka.com/#/view/2d/waterline

ป้อนคำอธิบายรูปภาพที่นี่

ผลงานยอดเยี่ยมจาก @Avanka!


4
น่าทึ่ง " npm.anvaka.com/#/view/2d/no-one-left-behind " "ขึ้นอยู่กับทุกแพ็คเกจใน npm" : D
OZZIE

ขัดข้องของ Chrome 79.0.3945.130 (รุ่นเป็นทางการ) (64 บิต) บน Mac
Brian Ogden

26

นี่คือคำสั่งอย่างเป็นทางการที่ไม่มีพลัง:

npm view <PACKAGE> dependencies

มันพิมพ์เฉพาะการพึ่งพาโดยตรงไม่ใช่ต้นไม้ทั้งหมด


3
ต้องติดตั้งแพ็คเกจหรือไม่ .\npm view core-js dependenciesไม่ส่งคืนอะไรบนเครื่องของฉัน
duct_tape_coder

@duct_tape_coder ไม่ไม่ต้องทำการติดตั้ง core-jsไม่มีการพึ่งพา
Cameron Hudson

9

yarn why <MODULE>หากคุณต้องการที่จะได้รับการพึ่งพาเส้นทางจริงของแพคเกจที่เฉพาะเจาะจงและอยากรู้ว่าทำไมคุณมีมันคุณก็สามารถถาม ตัวอย่าง:

    $> yarn why mime-db
    yarn why v1.5.1
    [1/4] Why do we have the module "mime-db"...?
    [2/4] Initialising dependency graph...
    [3/4] Finding dependency...
    [4/4] Calculating file sizes...
    => Found "mime-db@1.37.0"
    info Reasons this module exists
       - "coveralls#request#mime-types" depends on it
       - Hoisted from "coveralls#request#mime-types#mime-db"
    info Disk size without dependencies: "196kB"
    info Disk size with unique dependencies: "196kB"
    info Disk size with transitive dependencies: "196kB"
    info Number of shared dependencies: 0
    Done in 0.65s.


5

ดูข้อมูลเมตาทั้งหมดเกี่ยวกับโมดูล npm

npm view mongoose(module name)

ดูการพึ่งพาทั้งหมดของโมดูล

npm view mongoose dependencies

ดูโมดูลเวอร์ชั่นหรือเวอร์ชั่นทั้งหมด

npm view mongoose version
npm view mongoose versions

ดูคำหลักทั้งหมด

npm view mongoose keywords


1

น่าเสียดายที่ npm ยังไม่มีวิธีดูการอ้างอิงของแพ็คเกจที่ไม่ได้ติดตั้ง ไม่ใช่แม้แต่หน้าของแพ็คเกจรายการการพึ่งพาอย่างถูกต้อง 🙄

โชคดีที่ติดตั้งเส้นด้าย :

brew install yarn

อนุญาตให้หนึ่งใช้คำสั่งข้อมูลเพื่อดูการพึ่งพาที่ถูกต้อง:

yarn info @angular/router@4.4.7 dependencies

yarn info @angular/router@4.4.7 peerDependencies


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