설치된 npm 패키지의 버전을 찾으십시오.


2198

설치된 node.js / npm 패키지 의 버전을 찾는 방법은 무엇입니까?

이것은 npm 자체의 버전을 인쇄합니다.

npm -v <package-name>

이것은 암호 오류를 인쇄합니다.

npm version <package-name>

그러면 레지스트리에 패키지 버전이 인쇄됩니다 (예 : 사용 가능한 최신 버전).

npm view <package-name> version

어떻게받을 수 있나요 설치된 버전을 ?


5
설치시 "npm -v <package-name>"은 npm 버전 자체를보고합니다. 레지스트리에 패키지의 최신 버전을 나열하기 위해 "npm view <package-name> version"이 작업을 수행함을 발견했습니다.
David A. Grey

15
npm show는 설치되지 않은 최신 npm을 보여줍니다
Tsagana Nokhaeva

답변:


2576

npm list로컬 패키지 또는 npm list -g전체적으로 설치된 패키지

특정 패키지의 이름을 인수로 전달하여 특정 패키지의 버전을 찾을 수 있습니다. 예를 들어 npm list grunt결과는 다음과 같습니다.

projectName@projectVersion /path/to/project/folder
└── grunt@0.4.1

또는 npm list패키지 이름을 인수로 전달하지 않고 실행 하여 모든 패키지의 버전을 확인할 수 있습니다.

├─┬ cli-color@0.1.6 
 └── es5-ext@0.7.1 
├── coffee-script@1.3.3 
├── less@1.3.0 
├─┬ sentry@0.1.2 
 ├── file@0.2.1 
 └── underscore@1.3.3 
└── uglify-js@1.2.6 

--depth=0의존성없이 설치된 패키지를 나열하는 인수를 추가 할 수도 있습니다 .


126
mac과 linux에서는 "| grep module_name"을 추가하여 원하는 모듈 버전을 필터링하는 것이 좋습니다. 특히 -g를 사용하여 전역으로 실행할 때. 예를 들어, "npm list -g | grep express"는 설치된 Express 버전을 가져옵니다.
guya

103
특정 모듈을 원한다면 npm list less-middleware예제 처럼 실행할 수 있습니다 .
juanpaco

13
* nix 기반 시스템에 대한 @guya의 팁에 따라 Windows에서 유사한 결과를 위해 PowerShell을 사용 | select-string module_name하여 모듈을 필터링 할 수 있습니다 . 또는 Git Bash (또는 그 문제에 대해서만 Bash)를 사용하는 경우을 사용할 수 있습니다 grep.
Noel

15
당신이 기억할 수 없다면 list, npm ls또한 작동합니다. 실제로, 많은 npm 명령에는 별명이 있으며, 또한 명령의 하위 문자열을 입력하면이 하위 문자열이 명확하지 않은 경우에도 작동합니다. 예를 들어 npm ls, npm list, npm lis모두 동일합니다. 더 자세한 출력을 원한다면 시도해보십시오 npm ll(그러나 아마도 --depth=0추가 하고 싶을 것입니다).
jakub.g

4
스크립트를 사용하여 구문 분석 할 때 출력이 가장 좋지 않습니다. 같은 것을 할 필요없이 패키지 버전입니다 출력을 얻을 수있는 방법 정말 없을까npm list -g | awk -F@ '/<package>/ { print $2}'
Thayne

867

패키지가 설치되어 무엇을 찾는 또 다른 빠른 방법 로컬종속성없이이 사용하는 것입니다 :

npm list --depth=0

어느 것이 당신에게

├── bower@0.8.6
├── grunt@0.4.1
├── grunt-bower-requirejs@0.4.3
├── grunt-contrib-clean@0.4.1
├── grunt-contrib-coffee@0.7.0
├── grunt-contrib-copy@0.4.1
├── grunt-contrib-imagemin@0.1.4
├── grunt-contrib-jshint@0.1.1
├── grunt-contrib-livereload@0.1.2
├── grunt-contrib-requirejs@0.4.1
├── grunt-regarde@0.1.1
└── grunt-svgmin@0.1.0

분명히을 사용하여 전 세계적으로 동일하게 수행 할 수 있습니다 npm list -g --depth=0.

이 방법은 많은 패키지를 설치 한 경우 더 명확합니다.

어떤 패키지를 업데이트해야하는지 확인하려면을 사용하십시오 npm outdated -g --depth=0.


14
그것은 --depth
ygaradon

7
npm 1.4.6에서 수정 한 것 같습니다. 참조 github.com/npm/npm/issues/4733
호위

7
훌륭하게 작동| grep <package_name>
Marco Prins

4
@ygaradon 올바르지 만 --depth=0의존성을 재귀 적으로로드 할 필요가 없기 때문에 더 빠릅니다.
Marco Prins

npm list -g --depth=0전세계에 설치된 목록 모듈
EdgeDev

219

npm view <package> version -패키지에서 사용 가능한 최신 버전을 반환합니다.

npm list --depth=0 -종속성없이 설치된 모든 모듈의 버전을 반환합니다.

npm list -모든 모듈 및 종속성의 버전을 반환합니다.

그리고 마지막으로 노드 버전을 얻으십시오. node -v


16
NPM보기 <패키지> 버전은 고궁 박물원 원격 레지스트리가 아닌 로컬 파일 시스템 ... 간다
알렉산더 밀스에게

@AlexanderMills True이지만 여기에 있으면 다른 검색을 피할 수 있습니다. , BTW npm v, npm info그리고 npm show모든 별명이다 npm view.
CPHPython

85
npm info YOUR_PACKAGE version

예 :

npm info grunt version
0.4.5

104
설치된 패키지 버전이 표시되지 않고 사용 가능한 최신 버전 만 표시됩니다.
Tanner Semerad

@ tanner-semerad에 동의하십시오. 나는 그것을 확인 하기 위해 npms의 Docs에 체크인 했습니다. npm info이다 별칭 npm view과의 고궁 박물원의 문서 당신이 그 지위를 발견 할 것이다 : 이고 outfd 설정에 의해 참조 스트림, 표준 출력 기본값으로 패키지 및 인쇄를 약이 명령은 데이터를 보여준다. [...] 지정되지 않은 경우 기본 버전은 "최신"입니다. 그렇게 투표를합니다.
dannydedog

최신 버전이 아닌 최신 버전을 표시합니다. 공감.
lofihelsinki

2
npm info YOUR_PACKAGE version작동 한 유일한 것 :)
GOXR3PLUS

동일, 'npm info YOUR_PACKAGE version'작동 한 유일한 것
Jonas

63

방금 사용한

npm list | grep <package name>

그리고 그것은 잘 작동했습니다

Windows에서 다음을 실행하십시오.

npm list | find <package name>

PowerShell에서 다음을 실행하십시오.

npm list | sls <package name>

3
find인용 된 문자열로도 버전이 작동하지 않지만 powershell은 잘 작동합니다.
fiat

4
Windows 사용자 : 큰 따옴표에npm list -g --depth=0 |find "<package name>" 주목하십시오
robe007

56

패키지의 루트에서 다음을 수행하십시오.

node -p "require('./package.json').version"

편집 : (따라서 cd아직 모듈이 없으면 모듈의 홈 디렉토리에 있어야합니다. 모듈을 설치했다면 npm install아래에 있습니다 node_modules/<module_name>)

편집 2 : @ jeff-dickey의 답변에 따라 업데이트되었습니다.


좋은! 다른 답변에서 제안했듯이 (~ 20 초 대신 ~ 1 초)-적어도이 코드 스 니펫이 준비되어있을 때 "npm list"를 실행하는 것보다 훨씬 빠릅니다! (실제로 npm 플러그인이 있어야합니다 ...)
Venryx

1
또는node -p "require('./package.json').version"
Jeff Dickey

2
^ ~ 같은 범위 구분 기호가있는 경우에 설치된 실제 버전을받지 않습니다
geedew

21

로컬 패키지

npm list --depth=0

글로벌 패키지

npm list  -g --depth=0

21

위의 답변 중 일부를 결합하여 매우 간단하고 매우 빠른 조회를 생성합니다.
프로젝트 루트에서 실행하십시오. 한 cd줄로 모든 폴더 에 넣을 필요가 없습니다 .

node -p "require('SOMEPACKAGE/package.json').version"


21

이 명령으로 버전을 확인할 수도 있습니다.

npm info <package name> version


29
다시 말하지만 현재 설치된 패키지의 버전이 아닌 패키지 레지스트리에서 사용 가능한 최신 버전을 보여줍니다.
David Ferenczy Rogožan

@DawidFerenczy npm info httpaction
Nitin

16

jq 설치에 동의 하면의 JSON 출력을 사용할 수 있습니다 npm list.

npm -j ls <package-name> | jq -r .version

또는 자세한 정보를 원할 경우

npm --json list <package-name> | jq --raw-output '.version'

예를 들어 :

$ npm -j ls ghost | jq -r .version
0.4.2

또한 JSON 형식은 글로벌 패키지와 약간 다르므로 쿼리를 변경해야합니다.

예를 들어 :

$ npm -j -g ls | jq -r .dependencies.ghost.version
0.4.2

14

당신이 충분히 용감하고 node설치했다면, 항상 다음과 같은 일을 할 수 있습니다 :

echo "console.log(require('./package.json').version);" | node

현재 패키지의 버전이 인쇄됩니다. 다음과 같이 미치도록 수정할 수도 있습니다.

echo "eval('var result='+require('child_process').execSync('npm version',{encoding:'utf8'})); console.log(result.WHATEVER_PACKAGE_NAME);" | node

그러면 WHATEVER_PACKAGE_NAME패키지 버전이 인쇄 됩니다 npm version.


node -e "console.log(require('./package.json').version);"
papiro

12

설치된 모든 패키지를 로컬 또는 전체적으로 보려면 다음 명령을 사용하십시오.

  1. npm list로컬 패키지 또는 npm list -g전체적으로 설치된 패키지
  2. npm list --depth=0
  3. npm list | sls <package name>
  4. node -v


10

나는 정확히 그 일을하는 도구를 만들었습니다 -qnm

qnm- node_modules디렉토리 조회를위한 간단한 CLI 유틸리티 .

다음을 사용하여 설치하십시오.

npm i --global qnm

다음을 실행하십시오.

qnm [module]

예를 들면 다음과 같습니다.

> qnm lodash

lodash
├── 4.17.5
├─┬ cli-table2
 └── 3.10.1
└─┬ karma
  └── 3.10.1

우리가 가지고있는 수단 lodash하여의 루트에 설치 node_modules하고 두 개의 다른 사본 node_modulescli-table2karma.

정말 빠르며 탭 완성 및 일치 검색과 같은 멋진 기능이 있습니다.


9

버전 번호가있는 로컬 패키지를 나열하려면 다음을 사용하십시오.

npm ls --depth=0

버전 번호가있는 글로벌 패키지를 나열하려면 다음을 사용하십시오.

npm ls -g --depth=0


8

당신이 사용할 수있는 NPM보기 [모듈] 버전 , NPM 정보 [모듈] 버전 , NPM 쇼 [모듈] 버전 또는 NPM V [모듈] 버전이 설치된 NPM 모듈의 버전을 확인 할 수 있습니다.

내 grunt 모듈 버전이 0.4.5라고 가정 해 봅시다.

npm view grunt version => 0.4.5
npm info grunt version => 0.4.5
npm show grunt version => 0.4.5
npm v grunt version    => 0.4.5

15
이 모든 것들은 현재 설치된 버전이 아니라 최신 버전을 보여줍니다
sth

8

npm list --depth 0 버전이있는 모든 라이브러리를 표시하는 명령이지만 사용할 수 있습니다 npm-check

npm-check는 라이브러리 버전, 새 버전 업데이트 및 사용되지 않은 버전 등을 표시하는 버전 시스템 이벤트와 관련된 모든 사항을 관리하는 데 유용한 라이브러리입니다.

그냥 설치하려면

npm install -g npm-check

간단하게 실행

npm-check

패키지 버전, 새 버전 업데이트 및 사용되지 않은 버전에 대한 모든 내용을 보여주는 스크린 샷을 확인하십시오.

여기에 이미지 설명을 입력하십시오

전 세계에서도 작동합니다. 시도 해봐. 이것이 누군가를 돕기를 바랍니다.


6

여기에 휴대용 (사용 유닉스의 grepsed) 반환 세계적으로 설치 NPM 패키지의 버전 문자열합니다 (를 제거하는 것이 한 줄 g에서 -pg대신 쿼리 현지 패키지) :

$ npm ll -pg --depth=0 grunt | grep -o "@.*:" | sed 's/.$//; s/^.//'
0.4.5
  • 다음 npm ll과 같은 형식으로 구문 분석 가능한 문자열을 출력합니다./usr/lib/node_modules/npm:npm@2.14.8: ;
  • grep명령은 @~ 사이의 값을 추출합니다.: 합니다.
  • sed명령은 주변 문자를 제거합니다.

6

나는 이것을 .bashrc에 추가했다.

function npmv {
    case $# in # number of arguments passed
    0) v="$(npm -v)" ; #store output from npm -v in variable
        echo "NPM version is: $v"; #can't use single quotes 
                                   #${v} would also work
    ;;   
    1) s="$(npm list --depth=0 $1 | grep $1 | cut -d @ -f 2)";
       echo "$s";
    ;;
    2) case "$2" in # second argument
        g) #global|#Syntax to compare bash string to literal
             s="$(npm list --depth=0 -g $1 | grep $1 | cut -d @ -f 2)";
        echo "$s";
        ;;
        l) #latest
             npm view $1 version; #npm info $1 version does same thing
       ;;
       *) echo 'Invalid arguments';
       ;;
       esac;
    ;;
    *) echo 'Invalid arguments';
    ;;
    esac;
}
export -f npmv

이제 내가해야 할 일은 다음과 같습니다.

  • npm 버전의 경우 npmv :NPM version is: 4.2.0
  • 로컬 버전의 경우 npmv <package-name> 예 :0.8.08
  • 글로벌 버전의 경우 npmv <패키지 이름> g 예 :0.8.09
  • 최신 버전의 경우 npmv <패키지 이름> l 예 :0.8.10

참고 -d on cut 명령은 구분 기호를 의미하고 그 뒤에 @가 오는 것을 의미합니다. f는 @ 기호의 한 쪽이 있으므로 2는 두 번째 필드를 의미합니다.


5

시도해 볼 수 있습니다 : npm show {package} version최신 패키지 버전을 보여줍니다. 패키지가 오래된 경우 npm outdated버전 정보와 함께 표시됩니다.


2
OP는 패키지 레지스트리에서 사용 가능한 최신 버전이 아니라 현재 설치된 패키지 의 버전에 대해 묻고있었습니다 .
David Ferenczy Rogožan

5

이것은 간단한 질문이며 위에서 본 것보다 간단한 대답을 가져야합니다.

설치된 npm 패키지를 해당 버전과 함께 보려면 is 명령이 npm ls --depth=0기본적으로 로컬에 설치된 항목을 표시합니다. 전체적으로 설치된 패키지를 보려면 다음 -global인수를 추가하십시오 .npm ls --depth=0 -global .

--depth=0 의존성없이 설치된 패키지 목록을 반환합니다. 이것은 대부분의 시간을 원합니다.

ls는 명령 이름이며 list 에 대한 별명 입니다 ls.


3

액세스 package.json

당신은에 액세스 할 수 있습니다 package.json또는 bower.json함께 패키지에 대한 설명 :

notepad ./node_modules/:packageName/package.json

이것은 열립니다 package.json에서 notepadversion number:packageName당신은에 포함을 command.

예를 들면 다음과 같습니다.

notepad ./node_modules/vue-template-compiler/package.json

행운을 빕니다.


6
이 작업을 수행하는 훨씬 쉬운 방법뿐만 아니라 package.json에 지정한 버전이 실제로는 semver 범위 표기법으로 인해 설치된 버전이 아닐 수도 있습니다. 즉, 종속성은 버전 ^ 1.3.0으로 지정 될 수 있지만 버전 1.3.0에서 1.99.99까지의 모든 것을 의미 할 수 있습니다.
Isochronous

3

npm view any-promise (모듈 이름) -v를 사용할 수 있습니다


1
로컬 디렉토리의 버전이 아니라 사용 가능한 최신 버전이 표시됩니다.
christianbundy

@christianbundy npm list를 사용할 수 있습니다 --depth = 0 | grep uuid
Nitin.

나는을 사용해야 npm list --depth=0 | grep uuid | awk '{ print $2; }' | cut -d '@' -f 2했지만 그래, 이것이 최상위 의존성이라면 작동합니다. 그래도 원래의 질문에 근거하여 항상 그런 것은 아니라고 생각합니다.
christianbundy


0

매우 간단합니다. 아래에 입력하십시오

npm view < package-name > version

** 예 **

npm view redux version

redux 버전 7.2.0이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.