[node.js] 설치된 모든 node.js 모듈 목록을 인쇄하십시오.

작업중 인 node.js 스크립트에서 모든 node.js 모듈 (npm을 사용하여 설치)을 명령 줄에 인쇄하고 싶습니다. 어떻게해야합니까?

console.log(__filename);

//now I want to print all installed modules to the command line. How can I do this?



답변

npm ls 사용 (json 출력도 있음)

스크립트에서 :

test.js :

function npmls(cb) {
  require('child_process').exec('npm ls --json', function(err, stdout, stderr) {
    if (err) return cb(err)
    cb(null, JSON.parse(stdout));
  });
}
npmls(console.log);

운영:

> node test.js
null { name: 'x11', version: '0.0.11' }


답변

전체 TREE없이 전체적으로 설치된 패키지에만 관심이있는 경우 :

npm -g ls --depth=0

또는 로컬 (생략 -g) :

npm ls --depth=0


답변

전 세계적으로 설치된 모든 타사 모듈 목록, 콘솔에 쓰기 :

 npm -g ls


답변

어떤 OS에서도

npm -g list

그리고 그게 다야


답변

일반적으로 CLI (Command Line Interface )를 통해 또는 API를 사용하는 응용 프로그램에서 설치된 패키지를 나열하는 두 가지 방법이 있습니다 .

두 명령 모두 stdout트리 구조에 설치된 모든 버전의 패키지와 해당 패키지에 인쇄됩니다 .


CLI

npm list

-g(global) 플래그를 사용하여 전체적으로 설치된 모든 패키지를 나열하십시오. --depth=0플래그를 사용하여 종속성이 아닌 최상위 패키지 만 나열 하십시오 .


API

귀하의 경우, 스크립트 내에서 이것을 실행하려면 API를 사용해야합니다. 문서에서 :

npm.commands.ls(args, [silent,] callback)

에 인쇄하는 stdout것 외에도 데이터가 콜백으로 전달됩니다.


답변

왜 그들을 잡아 dependenciespackage.json?

물론, 이것은 당신이 실제로 저장 한 것만 줄 것이지만, 어쨌든 그렇게해야합니다.

console.log(Object.keys(require('./package.json').dependencies));


답변

for package in `sudo npm -g ls --depth=0 --parseable`; do
    printf "${package##*/}\n";
done