주어진 npm 모듈의 종속성 트리를 보는 방법은 무엇입니까?


144

npm에서 사용 가능하지만 로컬로 설치되지 않은 모듈 트리를 어떻게 얻을 수 있습니까?

npm ll로컬로 설치된 패키지에 대한 작업을 수행합니다. 그러나 설치되지 않은 모듈 또는 전역에 설치된 모듈에는 작동하지 않습니다.

시도 npm list bower했지만 그게 아닙니다.

답변:


112

npm-remote-ls모듈을 사용할 수 있습니다 . 전역으로 설치할 수 있습니다.

npm install -g npm-remote-ls

그런 다음 전화하십시오.

npm-remote-ls bower

또는 npm@5.2.0설치 한 다음 npx명령을 전체적으로 설치하여 사용 하지 않아도됩니다.

npx npm-remote-ls bower

8
주어진 모듈에 의존하는 모듈을 보는 방법?
orad September

2
이것은 여전히 ​​필요합니까? 최신 버전의 npm으로도?
Simon_Weaver

1
특정 버전의 경우이 구문을 사용할 수 있습니다npm-remote-ls primeng@1.0.0-beta.7
Simon_Weaver

2
@ orad : 설치 한 경우 npm ls
Paul Lynch

132

명령을 사용하여 종속성을 설치할 필요없이 NPM 종속성 트리를 생성 할 수 있습니다.

npm list

현재 디렉토리에서 프로젝트에 대한 종속성 트리가 생성되어 콘솔에 인쇄됩니다.

다음과 같이 특정 종속성의 종속성 트리를 얻을 수 있습니다.

npm list [dependency]

다음을 수행하여 최대 깊이 수준을 설정할 수도 있습니다

npm list --depth=[depth]

전역 또는 NPM 프로젝트에 로컬로 설치 한 종속성의 종속성 트리 만 볼 수 있습니다.


11
두 번째는 [종속성]에 종속 된 패키지 만 인쇄하고 [종속성]의 종속성은 인쇄하지 않습니다. OP는 또한 그가 원하는 것이 아니라고 구체적으로 말했다.
FINDarkside

7
사용 -prod만 나열 생산 의존성 (없이 devDependencies)에.
pcworld

3
npm list와 npm ls는 모두 node_modules 폴더를 읽으므로 종속성을 먼저 설치하지 않으면 트리를 얻을 수 없습니다.
worc

npm list --depth = 1 (한 레벨에 해당)
mintedsky


26

강력한 공식 명령은 다음과 같습니다.

npm view <PACKAGE> dependencies

전체 트리가 아닌 직접 종속성 만 인쇄 합니다 .


3
패키지를 설치해야합니까? .\npm view core-js dependencies내 컴퓨터에서 아무것도 반환하지 않습니다.
duct_tape_coder

@duct_tape_coder 아니요, 설치할 필요가 없습니다. core-js의존성이 없습니다.
카메론 허드슨

9

특정 패키지의 실제 의존성 경로를 얻고 왜 그 패키지를 가지고 있는지 알고 싶다면 간단히 물어보십시오 yarn why <MODULE>. 예:

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

npm 모듈에 대한 모든 메타 데이터보기

npm view mongoose(module name)

모듈의 모든 종속성보기

npm view mongoose dependencies

모든 버전 또는 버전 모듈보기

npm view mongoose version
npm view mongoose versions

모든 키워드보기

npm view mongoose keywords


1

불행하게도 npm은 여전히 ​​설치되지 않은 패키지의 종속성을 볼 수있는 방법이 없습니다. 패키지 페이지 조차도 종속성을 올바르게 나열 하지 않습니다 . 🙄

운 좋게 설치 원사 :

brew install yarn

info 명령을 사용하여 정확한 종속성을 볼 수 있습니다.

yarn info @angular/router@4.4.7 dependencies

yarn info @angular/router@4.4.7 peerDependencies


1
왜 원 사는 의존성을 볼 수 있고 정확한 방법을 제공하고 npm은 의존성을 볼 수있는 방법을 제공하지 않습니다. 이것은 npm이 결정적이지 않고 원사가 있기 때문일 수 있습니까?
브라이언 오그 던
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.