Làm thế nào để xem cây phụ thuộc của một mô-đun npm nhất định?


143

Làm cách nào tôi có thể lấy cây mô-đun có sẵn cho npm, nhưng không được cài đặt cục bộ?

npm llthực hiện công việc cho các gói cài đặt cục bộ. Nhưng nó không hoạt động đối với các mô-đun không được cài đặt hoặc các mô-đun được cài đặt trên toàn cầu.

Tôi đã thử npm list bowernhưng không phải vậy.

Câu trả lời:


112

Bạn có thể sử dụng npm-remote-lsmô-đun. Bạn có thể cài đặt nó trên toàn cầu:

npm install -g npm-remote-ls

Và sau đó gọi:

npm-remote-ls bower

Ngoài ra, npm@5.2.0cài đặt sau đó bạn có thể sử dụng npxvà tránh cài đặt lệnh trên toàn cầu - chỉ cần gọi:

npx npm-remote-ls bower

7
Làm thế nào để xem các mô-đun phụ thuộc vào một mô-đun nhất định?
orad

2
Điều này vẫn cần thiết? ngay cả với các phiên bản mới hơn của npm?
Simon_Weaver

1
đối với phiên bản cụ thể, bạn có thể sử dụng cú pháp nàynpm-remote-ls primeng@1.0.0-beta.7
Simon_Weaver

2
@orad: Nếu đó là một cái bạn đã cài đặt, npm ls
Paul Lynch

132

Bạn có thể tạo cây phụ thuộc NPM mà không cần cài đặt phụ thuộc bằng cách sử dụng lệnh

npm list

Điều này sẽ tạo ra một cây phụ thuộc cho dự án tại thư mục hiện tại và in nó ra bàn điều khiển.

Bạn có thể lấy cây phụ thuộc của một phụ thuộc cụ thể như vậy:

npm list [dependency]

Bạn cũng có thể đặt mức độ sâu tối đa bằng cách thực hiện

npm list --depth=[depth]

Lưu ý rằng bạn chỉ có thể xem cây phụ thuộc của một phụ thuộc mà bạn đã cài đặt trên toàn cầu hoặc cục bộ cho dự án NPM.


11
Cái thứ hai của bạn chỉ in các gói phụ thuộc vào [phụ thuộc], nó không in các phụ thuộc của [phụ thuộc]. OP cũng đặc biệt nói rằng đó không phải là thứ anh ấy đang tìm kiếm.
FINDarkside

7
Sử dụng -prodđể chỉ liệt kê các phụ thuộc sản xuất (và không có devDependencies).
pcworld

3
Danh sách npm và npm ls đều đọc thư mục node_modules, trước tiên bạn không thể có được một cây mà không cần cài đặt các phụ thuộc.
worc

danh sách
npm --depth


26

Đây là lệnh chính thức không mạnh mẽ:

npm view <PACKAGE> dependencies

chỉ in các phụ thuộc trực tiếp , không phải toàn bộ cây.


3
Có phải gói phải được cài đặt? .\npm view core-js dependencieskhông trả về máy của tôi
duct_tape_coder

@duct_tape_coder Không, nó không phải cài đặt. core-jskhông có phụ thuộc.
Cameron Hudson

9

Nếu bạn muốn có được đường dẫn phụ thuộc thực sự của gói cụ thể và muốn biết lý do tại sao bạn có nó, bạn chỉ cần hỏi yarn why <MODULE>. thí dụ:

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

Xem tất cả siêu dữ liệu về mô-đun npm

npm view mongoose(module name)

Xem tất cả các phụ thuộc của mô-đun

npm view mongoose dependencies

Xem tất cả mô-đun Phiên bản hoặc Phiên bản

npm view mongoose version
npm view mongoose versions

Xem tất cả các từ khóa

npm view mongoose keywords


1

Thật không may, npm vẫn không có cách nào để xem các phụ thuộc của các gói không được cài đặt. Thậm chí không phải là một trang của gói liệt kê chính xác các phụ thuộc. 🙄

May mắn cài đặt sợi :

brew install yarn

Cho phép một người sử dụng lệnh thông tin của nó để xem các phụ thuộc chính xác:

yarn info @angular/router@4.4.7 dependencies

yarn info @angular/router@4.4.7 peerDependencies


1
Tại sao sợi cung cấp và cách chính xác để xem các phụ thuộc và npm cung cấp KHÔNG cách nào để xem các phụ thuộc, điều này có thể là do npm không xác định và sợi là gì?
Brian Ogden
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.