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.

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, npm@5.2.0instal maka Anda dapat menggunakan npxdan menghindari menginstal perintah secara global - panggil saja:

npx npm-remote-ls bower

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 primeng@1.0.0-beta.7
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.


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.


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 "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

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


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/router@4.4.7 dependencies

yarn info @angular/router@4.4.7 peerDependencies


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.