[NodeJS] 패키지 매니저 npm

bolee·2022년 8월 8일
0
post-thumbnail

패키지 매니저(Package Manager)와 npm

패키지(Package)소프트웨어를 일컫는 여러 가지 표현 중 하나라고 생각하면 된다. 독립적으로 실행되는 프로그램도 패키지라고 할 수 있고, 어떤 프로그램 안에서 부품으로 사용되는 작은 프로그램도 패키지라고 할 수 있다.

패키지 매니저(Package Manager)는 이러한 패키지를 설치, 업데이트, 삭제한는 등 관리하는 데 도움을 주는 프로그램이라고 할 수 있다.

NodeJS에서 가장 대중적인 패키지 매니저 중 하나는 npm(Node Package Manager)이다.
npm은 이름 그대로 NodeJS로 만들어진 모듈을 웹에서 받아 설치하고 관리해주는 프로그램이다.

자주 사용하는 npm 명령어

npm 버젼 확인

$> npm -v
$> npm --version

npm 도움말

전체 도움말

npm 에서 사용되고 있는 명령어들과 설명을 볼 수 있다.

$> npm -h
$> npm help
$> npm help npm

특정 npm 명령어 도움말

npm 에서 사용되는 특정 명령어의 도움말을 볼 수 있다.

$> npm <command-name> -h
$> npm help <command-name>

package.json 생성

package.json
npm을 사용하기 위해, 프로젝트의 의존성 관리를 위해, npm 생태계로의 배포를 위한 파일

$> npm init

# 기본 설정
$> npm init -y

패키지(package) 설치

로컬 설치

패키지를 설치하고 프로젝트의 package.json 파일의 dependencies목록에 추가한다.

$> npm install <package-name>
$> npm install -P <package-name>
$> npm install --save-prod <package-name>

개발 설치

패키지를 설치하고 프로젝트의 package.json 파일의 devdependencies 목록에 추가한다.

$> npm install -D <package-name>
$> npm install --save-dev <package-name>

dependencies vs devdependencies

  • dependencies: 실제 코드에도 포함되며, 앱 구동을 위한 필요한 의존성 패키지들. 즉, 프로덕션 환경에서 응용 프로그램에 필요한 패키지
  • devdependencies: 실제 코드에 포함되지 않으며, 개발 단계에서만 필요한 의존성 패키지들. 즉, 로컬 개발 및 테스트에만 필요한 패키지

전역 설치

프로젝트 폴더가 아닌 시스템 폴더에 패키지를 설치한다.
이 경우 package.json 파일의 의존성 목록(dependencies 목록)에 기록되지 않는다.

$> npm install -g <package-name>

전역 설치로 설치된 패키지가 위치하는 시스템 폴더의 경우 아래 명령어를 통해 확인할 수 있다.

$> npm root -g

package.json의 모든 패키지 설치

package.json 파일 내 dependenciesdevdependencies 목록에 기록된 모든 패키지를 설치한다.

$> npm i
$> npm install

의존성 패키지만 설치

package.json 파일 내 devdependencies목록에 기록된 패키지를 제외한 의존성 패키지들만 설치한다.

$> npm install -production

패키지의 특정 버전 설치

설치하려는 패키지의 최신 버전이 아닌 특정 버전을 설치하고 싶을 경우 다음 명령어 형식을 사용한다.

$> npm install <package-name>@<version>

패키지 정보 확인

특정 패키지의 정보를 확인할 수 있다.

$> npm view <package-name>

특정 패키지와 함께 설치해야 하는 다른 패키지 목록을 아래 명령어를 통해 알 수 있다.

$> npm view <package-name> peerDependencies

패키지 제거

로컬/개발 패키지 제거

로컬 또는 개발 패키지를 제거한다.

$> npm uninstall <package-name>

전역 패키지 제거

-g 옵션으로 설치된 전역 패키지를 제거한다.

$> npm uninstall -g <package-name>

패키지 업데이트

특정 패키지 업데이트

$> npm update <package-name>

전역 설치 패키지 확인

전역 패키지 설치 폴더 확인

전역으로 설치된 패키지가 설치된 폴더(시스템 폴터) 위치를 확인한다.

$> npm root -g

로컬/개발 설치된 패키지 목록 확인

로컬/개발로 설치된 패키지 목록을 확인한다.

$> npm ls --depth=0

설치된 패키지가 많아 한 화면에 들어오지 않는다면 depth 파라미터로 조절할 수 있다.

전역 설치된 패키지 목록 확인

전역으로 설치된 패키지의 목록을 확인한다.

$> npm ls -g --depth=0

설치된 패키지가 많아 한 화면에 들어오지 않는다면 depth 파라미터로 조절할 수 있다.

package.json scripts 프로퍼티 실행

start 프로퍼티

package.json scripts 프로퍼티의 start script를 실행한다.

$> npm start

start 이외의 scripts 실행

package.json scripts 프로퍼티의 start 이외의 script를 실행한다.

$> npm run <script-name>

참고 자료

https://docs.npmjs.com/#cli
https://c17an.netlify.app/blog/node.js/npm-install-%EC%A0%95%EB%A6%AC/article/
https://c17an.netlify.app/blog/node.js/npm-install-%EC%A0%95%EB%A6%AC/article/
https://uiandwe.tistory.com/930

0개의 댓글