วิธีแสดงรายการแพคเกจที่ผู้ใช้ติดตั้งไว้


629

ฉันจะแสดงรายการแพ็กเกจที่ผู้ใช้ติดตั้งเท่านั้นได้npmอย่างไร เมื่อฉันทำnpm -g listมันจะส่งออกทุกแพคเกจและการอ้างอิงของพวกเขาซึ่งไม่ใช่สิ่งที่ฉันต้องการ

คำตอบ:


1246

นี้ทำงานสวยดีเกินไป: npm list -g --depth=0

  • npm : เครื่องมือบรรทัดคำสั่งตัวจัดการแพคเกจโหนด
  • list -g : แสดงแผนผังของทุกแพ็คเกจที่พบในโฟลเดอร์ของผู้ใช้ (ไม่มีตัวเลือก -g จะแสดงเฉพาะแพ็คเกจปัจจุบันของไดเรกทอรีเท่านั้น)
  • ความลึก 0 / - ความลึก = 0 : หลีกเลี่ยงการรวมการขึ้นต่อกันของทุกแพ็คเกจในมุมมองแบบต้นไม้

ส่งคืนผลลัพธ์ว่าง รุ่น NPM ของฉันคือ 3.6.0
Bagusflyer

4
ทำไม--depth=0ตัวเลือกที่ไม่ได้กล่าวถึงเมื่อผมทำงานnpm help ls?
Marecky

หากคุณติดตั้งโมดูลที่โฟลเดอร์อื่นโดยใช้--prefixคุณจะต้องเพิ่มคำสั่ง--prefixลงในnpm listคำสั่งนี้ด้วย
Sany Liew

1
นอกจากนี้ยังอาจเป็นการดีที่จะเพิ่ม| grep -v "duped"เพื่อลบการอ้างอิงที่ซ้ำกันลงในรายการ
Spencer Pollock

1
ทำงานอย่างสมบูรณ์แบบบน windows
prakash แดดออก

132

คุณสามารถรับรายการของโมดูลที่ติดตั้งทั่วโลกทั้งหมดได้โดยใช้:

ls `npm root -g`


13
ls -lh `npm root -g`แสดงไว้ในรายการที่ดี
LanceLafontaine

3
วิธีการแก้ปัญหานี้เร็วกว่าคะแนนโหวตสูงสุด
DarkNeuron

3
การแก้ปัญหานี้เป็นสิ่งที่ดี แต่ npm list -g --depth=0 ที่พิมพ์ออกมารุ่นซึ่งเป็นสิ่งที่ดี อย่างไรก็ตามฉันไม่รู้เกี่ยวกับคำสั่งนี้ดังนั้น +1 สำหรับสิ่งนั้น
พิกเซล 67

3
npm root -g | gciใน Powershell บน windows
Lars

1
นี้ไม่ได้ผลสำหรับโมดูล @scoped
ฟรานซ์ Sittampalam

113

ณ วันที่ 13 ธันวาคม 2558

ภาพประกอบรายการ NPM

ในขณะที่ฉันพบคำตอบที่ยอมรับได้ถูกต้อง 100% และมีประโยชน์หวังว่าจะขยายออกไปเล็กน้อยจากประสบการณ์ของฉันเองและหวังว่าจะเป็นประโยชน์ต่อผู้อื่นเช่นกัน (ที่นี่ฉันใช้แพคเกจข้อกำหนดและโมดูลแทนกัน)

ในการตอบคำถามที่ใช่คำตอบที่ได้รับการยอมรับจะเป็น:

npm list -g --depth=0

คุณอาจต้องการตรวจสอบโมดูลที่ติดตั้งทั่วโลกในระบบ * nix / เมื่อ grep พร้อมใช้งาน สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อตรวจสอบเวอร์ชันของโมดูลที่คุณใช้ (ติดตั้งแบบโกลบอลเพียงแค่ลบแฟล็ก -g หากตรวจสอบโมดูลโลคัล):

npm list -g --depth=0 | grep <module_name>

หากคุณต้องการดูรุ่น (รีโมท) ทั้งหมดที่มีสำหรับโมดูลนั้นให้ทำดังนี้:

npm view <module_name> versions

หมายเหตุรุ่นเป็นพหูพจน์ นี่จะทำให้คุณมีรายชื่อเวอร์ชันทั้งหมดให้เลือก

สำหรับรุ่นระยะไกลล่าสุด:

npm view <module_name> version  

หมายเหตุรุ่นเป็นเอกพจน์

หากต้องการทราบว่าต้องอัปเดตแพ็คเกจใดคุณสามารถใช้

npm outdated -g --depth=0

ในการอัพเดทแพ็คเกจทั่วโลกคุณสามารถใช้

npm update -g <package>

ในการอัพเดทแพ็คเกจทั่วโลกคุณสามารถใช้:

npm update -g

(อย่างไรก็ตามสำหรับรุ่น npm ที่น้อยกว่า 2.6.1 โปรดดูที่ลิงก์นี้เนื่องจากมีสคริปต์พิเศษที่แนะนำสำหรับการอัปเดตแพคเกจทั้งหมดทั่วโลก)

คำสั่งข้างต้นควรใช้กับ NPM เวอร์ชัน 1.3.x, 1.4.x, 2.x และ 3.x


npm update -g <package>การอัปเดตแพคเกจส่วนกลางที่เฉพาะเจาะจง: ฉันเชื่อว่าupdateเป็นที่นิยมมากกว่าinstallที่นี่เพราะ npm จะฉลาดและทำการติดตั้งเฉพาะเมื่อแพ็คเกจที่ระบุล้าสมัย
Robin A. Meade

1
@Talespin_Kit อาจ screentogif
forresthopkinsa

@Talespin_Kit ShareX นั้นยอดเยี่ยมสำหรับการสร้างและแชร์ภาพหน้าจอ gif (และภาพหน้าจออื่น ๆ )
Aaron Bell

38

ฉันชอบเครื่องมือที่มี GUI ที่เป็นมิตร!

ฉันใช้npm-guiซึ่งให้รายการแพคเกจท้องถิ่นและระดับโลกให้คุณ

แพคเกจอยู่ที่https://www.npmjs.com/package/npm-guiและhttps://github.com/q-nick/npm-gui

//Once
npm install -g npm-gui

cd c:\your-prject-folder
npm-gui localhost:9000

ที่เบราว์เซอร์ของคุณ http:\\localhost:9000

NPM-GUI


คุณจะโหลดสำหรับแพ็คเกจที่ติดตั้งทั่วโลกได้อย่างไร?
Ciasto piekarz

20

สำหรับการอ้างอิงโครงการใช้:

npm list --depth=0

สำหรับการอ้างอิงทั่วโลกใช้:

npm list -g --depth=0

17
npm ls

npm list เป็นเพียงนามแฝงสำหรับ npm ls

สำหรับการใช้ข้อมูลเพิ่มเติม

npm la    
npm ll

คุณสามารถตั้งค่า--depth=0ในตอนท้ายเพื่อรับระดับลึกแรก

npm ls --depth=0

คุณสามารถตรวจสอบแพคเกจการพัฒนาและการผลิตได้

npm ls --only=dev
npm ls --only=prod

เพื่อแสดงข้อมูลในjsonรูปแบบ

npm ls --json=true

ค่าเริ่มต้นคือ false

npm ls --json=false

คุณสามารถยืนยันในรูปแบบยาวเพื่อแสดงข้อมูลเพิ่มเติม

npm ls --long=true

คุณสามารถแสดงเอาต์พุตที่แยกวิเคราะห์ได้แทนมุมมองแบบต้นไม้

npm ls --parseable=true

คุณสามารถแสดงรายการแพ็กเกจในคำนำหน้าการติดตั้งทั่วโลกแทนที่จะเป็นในโครงการปัจจุบัน

npm ls --global=true
npm ls -g // shorthand

เอกสารฉบับเต็มคุณสามารถหาได้ที่นี่


8

โหนดมีแนวคิดเกี่ยวกับ Local Modules & Global Modules

โลคัลโมดูล s อยู่ภายในไดเร็กทอรีโปรเจ็กต์ปัจจุบัน

โมดูลทั่วโลกโดยทั่วไปจะอยู่ที่ไดเรกทอรีบ้านของผู้ใช้แม้ว่าเราสามารถเปลี่ยนเส้นทางที่อยู่ทั่วโลกโมดูล

  1. แสดงรายการโลคัลภายใน dir ปัจจุบัน: npm list
  2. แสดงรายการโมดูลส่วนกลาง: npm list --globalหรือnpm list --g // มันจะแสดงรายการโมดูลระดับบนสุดทั้งหมดที่มีการอ้างอิง
  3. แสดงเฉพาะโมดูลโกลบอลระดับสูงสุด (โมดูลที่ติดตั้ง): npm list -g --depth=0

7

วิธีหนึ่งอาจใช้เพื่อค้นหาไดเรกทอรีรากของโมดูลที่ใช้:

npm root
/Users/me/repos/my_project/node_modules

จากนั้นแสดงรายการไดเรกทอรีนั้น ...

ls /Users/me/repos/my_project/node_modules
grunt                   grunt-contrib-jshint

แพ็คเกจที่ผู้ใช้ติดตั้งในกรณีนี้คือ grunt และ grunt-contrib-jshint


1
ทำไมไม่ใช้คำสั่ง npm ในตัวอย่างเป็นทางการ? npm list -g --depth=0
Kukks

วิธีนี้อาจช่วยให้นักพัฒนาซอฟต์แวร์เข้าใจว่าเกิดอะไรขึ้นภายใต้ประทุน
obimod

1
สิ่งนี้ไม่ถูกต้อง 100% เมื่อฉันรันคำสั่งnpm root มันจะบอกฉัน: Users/me/node_modules ซึ่งไม่ถูกต้อง node_modules ของฉันอาศัยอยู่ที่อื่น ฉันเดามันขึ้นอยู่กับว่าคุณติดตั้งโหนด ฉันใช้brewเพื่อติดตั้งซอฟต์แวร์ ฉันเดาว่านี่คือถ้าคุณติดตั้งโหนดจากเว็บไซต์โดยใช้แพ็คเกจติดตั้งของพวกเขา?
พิกเซล 67

ฉันคิดว่ามันขึ้นอยู่กับตัวแปรสภาพแวดล้อมของคุณ ลองดู $ NPM ... vars ที่ตั้งค่าไว้ใน enviro ของคุณ ฉันมีการตั้งค่าแบบกำหนดเองโดยใช้ virtualenv และ hook การเปิดใช้งานเพื่อเขียน $ PATH ใหม่อย่างสมบูรณ์ตั้งแต่ต้นขึ้นอยู่กับสิ่งที่โครงการใช้
obimod

2
สำหรับฉันเวลาของฉันหมดเวลาฉันจึงไม่สามารถใช้คำสั่งได้ ฉันต้องการทำการติดตั้งใหม่อย่างสมบูรณ์ดังนั้นฉันจึงจำเป็นต้องรู้ว่าฉันได้ติดตั้งแพคเกจใดเพื่อสร้างใหม่
bryjohns

6

เพื่อดูรายการแพ็คเกจทั้งหมดที่ติดตั้ง

$ npm ls --parseable | awk '{gsub(/\/.*\//,"",$1); print}'| sort -u

แสดงการแยกวิเคราะห์รายการแพคเกจ npm https://docs.npmjs.com/cli/ls#parseable


มันเยี่ยมมาก! ฉันจะแสดงการพึ่งพาของ dev ได้อย่างไร
Michael Bruce


3

Node_modules มีแพ็คเกจที่ผู้ใช้ติดตั้งดังนั้นเปลี่ยนไดเรกทอรีเป็น node_modules และแสดงรายการ โมดูลหลักถูกกำหนดในแหล่งที่มาของโหนดในlib/โฟลเดอร์

Example:

     example@example:~/:~/node_modules$ ls
     express  maxmind-native  node-whois  socket.io  ua-parser-js
     geoip    mongoskin       pdfkit      tail       zeromq
     maxmind  nodemailer      request     ua-parser  zmq




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