[NodeJs] NPM 이란 updated_at: 2024-12-15 04:04

NPM

NPM 이란

Node Packaged Manager의 약자입니다

공식사이트

최신버젼 업데이트

리눅스 기준입니다.

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

주요 명령어

npm help 또는 npm 명령어 help

가장 먼저 알려드릴 명령어입니다. 명령어가 뭐가 있는지 모를 때는 npm help를, 해당 명령어가 무슨 역할을 하고, 가능한 옵션은 뭐가 있는지 궁금하면 가운데 명령어를 넣어서 help하면 됩니다. 예를 들어 init이 무슨 명령어인지 모르겠다면 npm init help하면 되는 거죠.

설치 관련

npm init

package.json을 만드는 명령어. 새로운 프로젝트나 패키지를 만들 때 사용합니다.

npm install

패키지를 설치하는 명령어입니다. npm install 패키지@버전하면 특정한 버전을 설치할 수 있고, npm install 주소하면 특정한 저장소에 있는 패키지를 설치할 수 있습니다. 주소는 주로 Github에만 있는 패키지를 설치할 때 사용합니다. 옵션을 줄 수 있는데 뒤에 --save 또는 -S를 하면 dependencies에(npm5부터는 --save옵션이 기본적으로 설정되어 있기 때문에 안 붙여도 됩니다), --save-dev 또는 -D하면 devDependencies에 추가됩니다. 그리고 -g를 하면 글로벌 패키지에 추가됩니다. 글로벌 패키지에 추가하면 이 프로젝트뿐만 아니라 다른 프로젝트도 해당 패키지를 사용할 수 있습니다.

npm update

설치한 패키지를 업데이트하는 명령어입니다.

npm dedupe

npm의 중복된 패키지들을 정리할 때 사용합니다. 가끔 쳐주면 용량도 줄이고 좋습니다.

npm docs

패키지에 대한 설명을 보여줍니다.

조회 관련

npm root

node_modules의 위치를 알려줍니다.

npm outdated

오래된 패키지가 있는지 알려줍니다. 오래되었고 package.json에 적어둔 버전 범위와 일치하면 빨간색으로, 오래되었지만 버전 범위와 일치하지 않으면 노란색으로 표시됩니다.

npm ls

패키지를 조회하는 명령어입니다. 현재 설치된 패키지의 버전과 dependencies를 트리 구조로 표현합니다. npm ll을 하면 더 자세한 정보를 줍니다. npm ls [패키지명]을 하면 해당 패키지가 있는지와, 해당 패키지가 어떤 패키지의 dependencies인지 보여줍니다.

npm search

npm 저장소에서 패키지를 검색하는 명령어입니다. 패키지의 이름, 설명 또는 키워드를 바탕으로 검색 결과가 나옵니다. 그냥 npm 홈페이지에서 검색하는 게 정신 건강에 좋습니다.

npm owner

패키지의 주인이 누군지 알려주는 명령어입니다. 또는 여러 명의 주인을 설정하거나 지울 수 있습니다.

npm bugs

버그가 발생했을 때 어떻게 패키지의 주인에게 연락을 취할지 알려줍니다. 주로 Github의 issues 탭을 엽니다.

로그인 관련

npm adduser

npm에 회원가입하는 명령어입니다. 로그인도 됩니다. npm login도 똑같은 역할을 합니다.

npm logout

반대로 logout할 때 사용합니다.

npm whoami

귀여운 명령어입니다. 이름 그대로 내가 누군지 물어보는 명령어죠. 로그인한 상태라면 자신의 아이디를 알려줍니다.

출시 관련

npm publish

패키지를 직접 출시하거나 버전 업그레이드를 할 때 사용하는 명령어입니다. .gitignore또는 .npmignore 파일에 적혀있지 않은 파일들은 npm 저장소에 업로드되어 출시됩니다. 여러분도 이제 자신의 패키지를 가질 수 있는거죠. 이 명령어를 사용하려면 여러분은 로그인한 상태여야 합니다. 그리고 패키지의 이름은 선점하는 사람이 계속 쓰기 때문에 이름을 선점하는 것도 중요합니다.

npm deprecate

이미 낸 패키지를 사용하지 않도록 권고하는 명령어입니다. 자신이 어떤 버전을 출시했는데 치명적인 버그가 있다면 이 명령어를 사용해서 다른 사람들에게 사용하지 말도록 말해줍시다.

npm unpublish

publish한 패키지를 다시 unpublish하는 겁니다. 하지만 deprecate를 쓰는 게 나은 게 이미 자신의 패키지를 다운로드한 사람들에게 피해를 입힐 수 있습니다.

npm star

자신이 좋아하는 패키지를 표시하는 기능입니다. 이 star이 많을 수록 인기 패키지이기도 합니다. 심심하시면 제 react-vote나 react-filepicker에 star 해보세요.

npm stars

특정 사람이 star한 패키지 목록을 확인할 수 있습니다.

npm version

버전 업데이트를 할 때 사용합니다. 새로운 버전이 나왔다면 npm version [버전]하면 됩니다.

실행 관련

npm start

package.json의 scripts에 있는 start 명령어를 실행하는 부분입니다. 만약 start 명령어를 따로 설정하지 않았다면 node server.js가 실행됩니다.

npm stop

npm start했던 것을 멈추는 명령어입니다.

npm restart

npm stop 후에 다시 npm start를 하는 명령어입니다.

npm test

test 명령어를 실행합니다.

npm run

그 이외의 scripts를 실행하는 명령어입니다. 예를 들어 scripts에 build 명령어가 있다하면, npm run build하면 됩니다.

설정 관련

npm cache

npm 내의 cache를 보여줍니다. 만약 npm에 문제가 생기거나 하면 제일 먼저 하는 게 npm cache clean으로 cache를 지우는 겁니다.

npm rebuild

npm을 다시 설치하는 명령어입니다. 에러가 발생했을 시 주로 npm cache clean을 한 후 이 명령어를 쳐서 재설치해봅니다.

npm config

npm의 설정을 조작하는 명령어입니다. npm config list 하면 현재 설정들을 볼 수 있고, npm set [이름] [값], npm get [이름]으로 속성을 설정하거나 조회할 수 있습니다.

Package

참조 1
참조 2 (위의 것을 한글로 변역해 놓은 문서)

Dependencies

{ "dependencies" :
  { "foo" : "1.0.0 - 2.9999.9999"
  , "bar" : ">=1.0.2 <2.1.2"
  , "baz" : ">1.0.2 <=2.3.4"
  , "boo" : "2.0.1"
  , "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0"
  , "asd" : "http://asdf.com/asdf.tar.gz"
  , "til" : "~1.2"
  , "elf" : "~1.2.3"
  , "two" : "2.x"
  , "thr" : "3.3.x"
  , "lat" : "latest"
  , "dyl" : "file:../dyl"
  }
}
~version "Approximately equivalent to version" See semver
^version "Compatible with version" See semver
* Matches any version

실제 npm 관리법

npm audit

현재 angular 기준 버젼들을 보여주는데 low 만관리해 주면됩니다

참조

일반 패키지들은 npm install 을 해준다. (가장 최근 버전으로 업데이트)

npm insatall @angular/core": "^6.0.0" 이면 6점대를 벗어나지 않게 해준다.
npm install @angular/core@~6 : 표시된 버전의 이하 최근 버전으로 처리
npm install --save-dev pro 개발용으로만 사용할 경우 (devDependencies 에 저장)

devDependencies

본 패키지와 별개로 개발자가 테스트용으로 사용하는 모듈

peerDependencies

패키지가 실행되기위해서(require로 사용되는 것은 아님) 요청되는 의존 패키지 (의존성을 표시)

평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글