Bagaimana cara melihat pohon dependensi dari modul npm yang diberikan?

143

Bagaimana saya bisa mendapatkan pohon modul tersedia untuk npm, tetapi tidak diinstal secara lokal?

npm llmelakukan pekerjaan untuk paket yang diinstal secara lokal. Tetapi tidak berfungsi untuk modul yang tidak diinstal atau modul dipasang secara global.

Saya mencoba npm list bowertetapi bukan itu.

BiAiB
sumber

Jawaban:

112

Anda dapat menggunakan npm-remote-lsmodul. Anda dapat menginstalnya secara global:

npm install -g npm-remote-ls

Dan kemudian telepon:

npm-remote-ls bower

Atau, [email protected]instal maka Anda dapat menggunakan npxdan menghindari menginstal perintah secara global - panggil saja:

npx npm-remote-ls bower
Gergo Erdosi
sumber
7
Bagaimana cara melihat modul yang bergantung pada modul yang diberikan?
orad
2
ini masih dibutuhkan? bahkan dengan versi npm yang lebih baru?
Simon_Weaver
1
untuk versi tertentu Anda dapat menggunakan sintaks ininpm-remote-ls [email protected]
Simon_Weaver
2
@ orad: Jika itu salah satu yang telah Anda instal, npm ls
Paul Lynch
132

Anda dapat menghasilkan pohon dependensi NPM tanpa perlu menginstal dependensi dengan menggunakan perintah

npm list

Ini akan menghasilkan pohon dependensi untuk proyek di direktori saat ini dan mencetaknya ke konsol.

Anda bisa mendapatkan pohon dependensi dari dependensi tertentu seperti:

npm list [dependency]

Anda juga dapat mengatur level kedalaman maksimum dengan melakukan

npm list --depth=[depth]

Perhatikan bahwa Anda hanya dapat melihat pohon dependensi dari dependensi yang telah Anda instal secara global, atau secara lokal ke proyek NPM.

mgthomas99
sumber
11
Paket kedua Anda hanya mencetak paket-paket yang bergantung pada [dependensi], tidak mencetak dependensi [dependensi]. OP juga secara spesifik mengatakan bahwa itu bukan yang dia cari.
FINDarkside
7
Gunakan -prodhanya daftar dependensi produksi (dan tidak ada dependensi dev).
pcworld
3
npm list dan npm ls keduanya membaca folder node_modules, Anda tidak bisa mendapatkan pohon tanpa menginstal dependensi terlebih dahulu.
worc
daftar npm --depth = 1 untuk satu tingkat
mintedsky
26

Ini adalah perintah resmi yang tidak berdaya:

npm view <PACKAGE> dependencies

Ini hanya mencetak dependensi langsung , bukan seluruh pohon.

golopot
sumber
3
Apakah paket harus diinstal? .\npm view core-js dependenciesmengembalikan apa pun di mesin saya.
duct_tape_coder
@duct_tape_coder Tidak, itu tidak harus diinstal. core-jstidak memiliki dependensi.
Cameron Hudson
9

Jika Anda ingin mendapatkan jalur ketergantungan sebenarnya dari paket tertentu dan ingin tahu mengapa Anda memilikinya, Anda bisa bertanya yarn why <MODULE>. contoh:

    $> 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 "[email protected]"
    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.
msangel
sumber
6

Anda dapat menggunakan howfat yang juga menampilkan statistik dependensi:

npx howfat -r tree jasmine

screensot

Alexey Prokhorov
sumber
5

Lihat Semua metadata tentang modul npm

npm view mongoose(module name)

Lihat Semua Ketergantungan modul

npm view mongoose dependencies

Lihat Semua Versi atau Modul versi

npm view mongoose version
npm view mongoose versions

Lihat Semua kata kunci

npm view mongoose keywords
Yogendra Singh
sumber
1

Sayangnya npm masih tidak memiliki cara untuk melihat dependensi paket-paket yang tidak diinstal. Bahkan halaman paket mencantumkan dependensi dengan benar. 🙄

Untungnya memasang benang :

brew install yarn

Mengizinkan seseorang menggunakan perintah informasinya untuk melihat dependensi yang akurat:

yarn info @angular/[email protected] dependencies

yarn info @angular/[email protected] peerDependencies

Robert Brisita
sumber
1
Mengapa benang menyediakan dan cara akurat untuk melihat dependensi dan npm memberikan TIDAK cara untuk melihat dependensi, mungkinkah ini karena npm tidak deterministik dan benang?
Brian Ogden