Bagaimana daftar npm paket yang diinstal pengguna?

630

Bagaimana cara mendaftar HANYA paket yang diinstal pengguna npm? Ketika saya melakukannya npm -g listoutput setiap paket dan dependensinya, yang bukan yang saya inginkan.

lolski
sumber

Jawaban:

1247

Ini juga bekerja dengan sangat baik: npm list -g --depth=0

  • npm : alat baris perintah manajer paket Node
  • list -g : menampilkan pohon dari setiap paket yang ditemukan di folder pengguna (tanpa opsi -g hanya menampilkan paket direktori saat ini)
  • depth 0 / - depth = 0 : hindari menyertakan semua dependensi paket dalam tampilan hierarki
aris
sumber
Kembalikan hasil yang kosong. Versi npm saya adalah 3.6.0.
Bagusflyer
4
Mengapa --depth=0opsi ini tidak disebutkan ketika saya menjalankan npm help ls?
Marecky
Jika Anda memasang modul di folder lain menggunakan --prefix, maka Anda perlu menambahkan --prefixjuga ke npm listperintah ini .
Sany Liew
1
Mungkin juga baik untuk menambahkan | grep -v "duped"untuk menghapus dependensi duplikat ke daftar
Spencer Pollock
1
bekerja dengan baik di windows.
sunny prakash
132

Anda bisa mendapatkan daftar semua modul yang diinstal secara global menggunakan:

ls `npm root -g`

Gil
sumber
13
ls -lh `npm root -g`menampilkannya dalam daftar yang bagus.
LanceLafontaine
3
Solusi ini jauh lebih cepat daripada yang terpilih.
DarkNeuron
3
Solusi ini bagus tetapi npm list -g --depth=0 yang mencetak versi yang bagus. Ngomong-ngomong, saya tidak tahu tentang perintah ini jadi +1 untuk itu.
piksel 67
3
npm root -g | gcidi Powershell pada windows
Lars
1
ini tidak berfungsi untuk modul @scoped
Franz Sittampalam
113

Per 13 Desember 2015

ilustrasi daftar npm

Sementara saya menemukan jawaban yang diterima 100% benar, dan bermanfaat, ingin mengembangkannya sedikit berdasarkan pengalaman saya sendiri, dan semoga untuk kepentingan orang lain juga. (Di sini saya menggunakan paket istilah dan modul secara bergantian)

Dalam menjawab pertanyaan, ya jawaban yang diterima adalah:

npm list -g --depth=0

Anda mungkin ingin memeriksa modul tertentu yang diinstal secara global, pada sistem * nix / ketika grep tersedia. Ini sangat berguna ketika memeriksa versi modul apa yang Anda gunakan (diinstal secara global, cukup hapus flag -g jika memeriksa modul lokal):

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

Jika Anda ingin melihat semua versi (jauh) yang tersedia untuk modul tertentu, maka lakukan:

npm view <module_name> versions

Catatan, versi adalah jamak. Ini akan memberi Anda daftar lengkap versi untuk dipilih.

Untuk versi jarak jauh terbaru:

npm view <module_name> version  

Catatan, versi singular.

Untuk mengetahui paket mana yang perlu diperbarui, Anda bisa menggunakan

npm outdated -g --depth=0

Untuk memperbarui paket global, Anda dapat menggunakan

npm update -g <package>

Untuk memperbarui semua paket global, Anda dapat menggunakan:

npm update -g

(Namun, untuk versi npm kurang dari 2.6.1, silakan juga melihat tautan ini karena ada skrip khusus yang direkomendasikan untuk memperbarui semua paket secara global).

Perintah di atas harus bekerja di NPM versi 1.3.x, 1.4.x, 2.x dan 3.x

arcseldon
sumber
Untuk memperbarui paket global yang spesifik: npm update -g <package>. Saya percaya updatelebih disukai di installsini karena npm akan menjadi pintar dan melakukan instalasi hanya jika paket yang ditentukan sudah usang.
Robin A. Meade
1
@Talespin_Kit mungkin screentogif
forresthopkinsa
@Talespin_Kit ShareX adalah FANTASTIC untuk membuat dan berbagi tangkapan layar gif (dan tangkapan layar lainnya).
Aaron Bell
38

Saya lebih suka alat dengan beberapa gui ramah!

Saya menggunakan npm-guiyang memberi Anda daftar paket lokal dan global

Paket ini di https://www.npmjs.com/package/npm-gui dan https://github.com/q-nick/npm-gui

//Once
npm install -g npm-gui

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

Di browser Anda http:\\localhost:9000

npm-gui

Alireza Fattahi
sumber
bagaimana Anda memuat paket yang diinstal secara global?
Ciasto piekarz
20

Untuk dependensi proyek, gunakan:

npm list --depth=0

Untuk dependensi global, gunakan:

npm list -g --depth=0
Karthik damodara
sumber
17
npm ls

npm list hanyalah alias untuk npm ls

Untuk penggunaan info yang diperluas

npm la    
npm ll

Anda selalu dapat mengatur --depth=0di akhir untuk mendapatkan kedalaman level pertama.

npm ls --depth=0

Anda dapat memeriksa paket pengembangan dan produksi.

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

Untuk menampilkan info dalam jsonformat

npm ls --json=true

Standarnya adalah false

npm ls --json=false

Anda dapat meminta format panjang untuk menampilkan informasi tambahan.

npm ls --long=true

Anda dapat menampilkan keluaran yang dapat diuraikan alih-alih tampilan hierarki.

npm ls --parseable=true

Anda dapat mendaftar paket dalam awalan pemasangan global alih-alih dalam proyek saat ini.

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

Dokumentasi lengkap dapat Anda temukan di sini .

prosti
sumber
8

Node memiliki konsep modul Lokal & modul Global

Modul lokal terletak di dalam direktori proyek saat ini.

Modul Global umumnya terletak di direktori home pengguna, meskipun kita dapat mengubah jalur tempat modul global berada.

  1. Daftar modul lokal dalam direktori saat ini: npm list
  2. Daftar modul global: npm list --globalATAUnpm list --g // Ini akan mendaftar semua modul tingkat atas dengan dependensinya
  3. Daftar hanya modul global tingkat atas (modul Terpasang): npm list -g --depth=0
Piyush Sagar
sumber
7

Salah satu caranya mungkin dengan menemukan direktori root dari modul menggunakan:

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

Dan kemudian daftar direktori itu ...

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

Paket yang diinstal pengguna dalam hal ini adalah grunt dan grunt-contrib-jshint

obimod
sumber
1
Mengapa tidak menggunakan perintah resmi npm bawaan? npm list -g --depth=0
Kukks
Dengan cara ini dapat membantu pengembang memahami apa yang terjadi di bawah tenda
obimod
1
Ini tidak 100% benar. Ketika saya menjalankan perintah npm root itu memberitahu saya: Users/me/node_modules mana yang tidak benar. Node_modules saya tinggal di tempat lain. Saya kira itu tergantung pada bagaimana Anda menginstal node. Saya gunakan brewuntuk menginstal perangkat lunak saya. Saya menduga ini adalah jika Anda menginstal node dari situs web mereka menggunakan installer paket mereka?
piksel 67
Saya pikir itu tergantung pada variabel lingkungan Anda. Lihat $ NPM ... vars yang diatur di lingkungan Anda. Saya memiliki pengaturan khusus, menggunakan virtualenv dan kait aktif untuk sepenuhnya menulis ulang $ PATH dari awal tergantung pada apa yang digunakan proyek.
obimod
2
Bagi saya, npm saya rusak sehingga saya tidak bisa menggunakan perintah. Saya ingin melakukan instal ulang penuh sehingga saya perlu tahu paket mana yang telah saya instal secara global untuk membangun kembali.
bryjohns
6

Untuk melihat daftar semua paket yang diinstal.

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

perlihatkan parseable dari daftar paket npm https://docs.npmjs.com/cli/ls#parseable

rab
sumber
Ini bagus! Bagaimana saya bisa menunjukkan dependensi dev?
Michael Bruce
5

Saya menggunakan npm -g outdated --depth=0daftar versi yang sudah ketinggalan zaman
di ruang global.

pixel 67
sumber
3

Node_modules berisi paket yang diinstal pengguna jadi ubah direktori menjadi node_modules dan daftarkan item-itemnya. Modul Inti didefinisikan dalam sumber simpul dalam lib/folder.

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
karthick
sumber
3

Anda dapat mencoba NPM Desktop manager Manajer NPM Desktop

Dengan hanya satu klik, Anda dapat menginstal / menghapus instalan paket devatau globalstatus.

kant
sumber
2

Gunakan npm listdan filter dengan menggunakangrep

Contoh:

npm list -g | grep name-of-package
Darlan Dieterich
sumber
2

Sebagai steno, Anda dapat menjalankan:

npm ls -g --depth=0
Mwiza
sumber