programing

설치된 모든 node.js 모듈의 목록을 인쇄합니다.

javamemo 2023. 11. 1. 21:57
반응형

설치된 모든 node.js 모듈의 목록을 인쇄합니다.

제가 작업하고 있는 node.js 스크립트에서 npm을 사용하여 설치된 모든 node.js modules를 명령줄에 인쇄하고 싶습니다.이거 어떻게 해요?

console.log(__filename);

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

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

npm -g ls --depth=0

또는 로컬(omit -g):

npm ls --depth=0

npmls 사용 (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' }

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

 npm -g ls

어느 점을 보아도

npm -g list

그것으로 끝입니다

일반적으로 설치된 패키지를 나열하는 방법은 CLI(명령줄 인터페이스)를 통해 나열하거나 API를 사용하여 응용 프로그램에서 나열할 수 있습니다.

두 명령 모두 다음으로 인쇄됩니다.stdout트리 구조에 설치된 패키지의 모든 버전과 종속성을 포함합니다.


CLI

npm list

사용.-g(global) 플래그는 전역적으로 설치된 모든 패키지를 나열합니다.사용.--depth=0플래그는 상위 패키지만 나열하고 종속성은 나열하지 않습니다.


API

사용자의 경우 스크립트 내에서 이를 실행하기를 원하므로 API를 사용해야 합니다.문서에서:

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

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

그들을 데려오는게 어때요?dependencies인에package.json?

물론 이렇게 하면 실제로 저장한 것만 얻을 수 있지만 어쨌든 그렇게 해야 합니다.

console.log(Object.keys(require('./package.json').dependencies));
for package in `sudo npm -g ls --depth=0 --parseable`; do
    printf "${package##*/}\n";
done

2021년 말 현재 확실한 방법은 거의 없으며, 위의 답을 제시하는 유일한 부분은 완전한 목록입니다.

Node.js 설명서는 실제로 이 문제에 대해 상당히 잘 설명되어 있으며, 이것은 주요 명령어들의 집합된 목록입니다.

모든 명령은 설치된 모듈 목록을 로컬로 실행합니다.글로벌 레벨을 실행하려면 문 끝에 플래그를 추가하기만 하면 됩니다.

  1. 종속성을 포함하여 설치된 모든 npm 패키지의 버전을 확인합니다.

    ❯ npm list
    
     >>> /Users/joe/dev/node/cowsay
     └─┬ cowsay@1.3.1
       ├── get-stdin@5.0.1
       ├─┬ optimist@0.6.1
       │ ├── minimist@0.0.10
       │ └── wordwrap@0.0.3
       ├─┬ string-width@2.1.1
       │ ├── is-fullwidth-code-point@2.0.0
       │ └─┬ strip-ansi@4.0.0
       │   └── ansi-regex@3.0.0
       └── strip-eof@1.0.0
    
  2. 최상위 패키지만 가져옵니다.

    npm list --depth=0
    
  3. 이름을 지정하여 특정 패키지의 버전을 가져옵니다.

    npm list <package-name>
    
  4. npm 저장소에서 사용 가능한 패키지의 최신 버전을 확인

    npm view <package-name> version
    
  5. @ 구문을 사용하여 이전 버전의 npm 패키지 설치

    npm install @ npm install cowsay@1.2.0

    글로벌 패키지

    npm install -g webpack@4.16.

  6. 패키지의 모든 이전 버전 나열

    npm view cowsay versions
    [ '1.0.0',
      '1.0.1',
      '1.0.2',
      '1.0.3',
      '1.1.0',
      '1.1.1',
      '1.1.2',
      '1.1.3',
      ....
    ]
    

모든 Node.js 종속성 업데이트

  1. 새 마이너 또는 패치 릴리스 설치

     npm update
    
  2. 새 마이너 또는 패치 릴리스를 설치하지만 업데이트 패키지는 설치하지 않습니다.json

     npm update --no-save
    
  3. 패키지의 새 릴리스를 검색하려면 한 저장소에 오래 전에 업데이트되지 않은 몇 가지 패키지 목록을 제공합니다.

      npm outdated
    

이러한 업데이트 중 일부는 주요 릴리스입니다.npm 업데이트를 실행해도 해당 버전은 업데이트되지 않습니다.주요 릴리스는 (정의상) 획기적인 변경 사항을 도입하기 때문에 이러한 방식으로 업데이트되지 않으며 npm은 문제를 해결하려고 합니다.

모든 패키지를 새 주 버전으로 업데이트하려면 npm-check-updates 패키지를 전역적으로 설치합니다.

npm install -g npm-check-updates
ncu -u

이렇게 하면 패키지의 모든 버전 힌트가 업그레이드됩니다.json 파일, to dependence 및 devDependencys, snpm은 새로운 메이저 버전을 설치할 수 있습니다.


개발 종속성

개발 종속성에 설치합니다.

npm install <package-name> -D
npm install <package-name> --save-dev # same as above

운영 환경에 이러한 개발 종속성을 설치하지 마십시오.

npm install --production

npm 패키지 제거

npm uninstall <package-name>
npm uninstall -g <package-name> # globally uninstall
  1. 패키지를 제거하고 ** 패키지에서 참조를 제거합니다.json**

      npm uninstall <package-name> -S
      npm uninstall <package-name> --save # same as above
    

글로벌 플래그 예제가 있는 일부 명령.

npm list -g 
npm list --depth=0 -g
npm list <package-name> -g 
npm view <package-name> version -g 

추가 명령어

문서화

언급URL : https://stackoverflow.com/questions/13981938/print-a-list-of-all-installed-node-js-modules

반응형