본문 바로가기

Programming/Node.js

6. 패키지 매니저 (1) - npm [7]

node js logo image

 

 

 

 

○ 버전 표시 옵션

 

버전 표기에는 옵션이 존재합니다. 앞서 package.json에서 볼 수 있었던 SemVer 버전 앞에 '^'가 붙어있는 것이 가장 대표적인 예입니다. 하나씩 살펴보도록 하겠습니다. 

 

가장 흔하게 볼 수 있는 것이 ^인데, 이는 마이너 버전까지만 설치/업데이트를 한다는 의미입니다. npm i express@^1.1.1이라면, 1.1.1 이상 2.0.0 미만 버전까지 설치됩니다(2.0.0은 설치되지 않음). 헷갈리면 1.x.x로 기억하세요.

 

~는 패치 버전까지만 설치한다는 의미입니다. npm i express@~1.1.1이라면, 1.1.1 이상 1.2.0 미만까지 설치됩니다(1.2.0은 설치되지 않음). 역시 1.1.x로 기억하시면 됩니다. 

 

참고로 마이너 버전의 경우 대부분 하위 호환이 보장되기 때문에 ^를 많이 사용하고 있습니다. 

 

 

>, <, > =, < =, =은 역시 초과, 미만, 이상, 이하, 동일을 의미합니다. 만일 npm i express@>1.1.1과 같이 사용하게 되면 1.1.1 버전보다 높은 버전이 설치됩니다. @latest는 말 그대로 최신 버전의 패키지를 설치합니다. npm i express@latest 또는 npm i express@x와 같이 사용합니다.

 

@next는 @latest와 비슷하지만, 베타나 알파버전까지 사용이 가능하다는 특징이 있습니다. 

 

 

 

 

○ npm outdated

 

패키지의 설치된 버전 현황(current)과 최신버전(latest), 그리고 업데이트 필요 버전(wanted)를 확인할 수 있습니다. 기본적으로 current와 wanted가 같은 것을 지향하며, 만일 버전이 다를경우 npm update를 실행하면 됩니다. latest는 package.json에 적힌 버전 범위와 다를 경우 설치되지 않습니다. 

 

 

○ npm uninstall

 

npm uninstall [패키지명] 또는 npm rm [패키지명]을 실행하면 해당 패키지를 제거합니다. node_modules 폴더와 package.json에서 사라집니다.

 

 

○ npm search

 

npm search [패키지명]으로 해당 패키지를 검색할 수 있습니다. 물론 일반 윈도우, 맥 환경에서는 https://npmjs.com에서 서 검색하면 되지만 리눅스에서는 콘솔로 검색을 할 수 있습니다. package.json에 넣어둔 keywords가 이 검색에서 사용됩니다. 

 

 

○ npm info

 

npm info [패키지명]을 입력하면, 패키지의 package.json 내용과 의존 관계, 설치 버전 정보등이 표시됩니다.

 

 

이외의 명령어는 https://docs.npmjs.com의의 CLI Commands에서 체크하시기 바랍니다.