NPM에 대해

Dave·2023년 9월 1일

Node.js

목록 보기
1/2
post-thumbnail

출처 : Node.js 교과서

1. npm 이란?

Node Package Manager의 약어로 프로젝트에 사용되는 의존성들을 관리할 수 있는 도구이다. 대부분의 자바스크립트 프로그램은 패키지라는 이름으로 npm에 등록되어 있으므로 특정 기능을 하는 패키지가 필요하면 npm에서 찾아 설치하면 된다.

2. package.json

설치한 패키지의 버전을 관리하는 파일이다.

패키지는 저마다 고유한 버전이 있고 같은 패키지라도 버전별로 기능이 다를 수 있으므로 프로젝트를 설치할 때 패키지도 동일한 버전으로 설치하지 않으면 문제가 생길 수 있다.

따라서 Node.js 환경에서 프로젝트를 시작하기 전에 폴더 내부에 무조건 package.json부터 만들고 시작해야 한다.

npm init
// package.json을 생성

  1. package name : 패키지 이름
  2. version : 패키지 버전
  3. description : 프로젝트 설명
  4. author : 프로젝트 만든 사람 이름
  5. entry point : 자바스크립트 실행 파일 진입점
  6. test command : 코드를 테스트할 때 입력할 명령어
  7. git repository : 코드를 저장해둔 git 저장소 주소를 의미한다.
  8. license : 해당 패키지의 라이센스
  9. keywords : 키워드를 제공하여 npm 홈페이지에서 패키지를 쉽게 찾을 수 있게 한다.

위 질문들에 답변을 해준다.

이후 내가 입력한 사항에 대해서 다시 출력해주고 질문이 하나 더 들어온다. yes를 눌러 package.json을 생성한다.

2-1. 라이센스

오픈 소스라고 해서 패키지를 아무 제약없이 사용할 수 있는 것은 아니다. 라이센스 별로 제한사항이 있으므로 설치 전에 라이센스를 확인해야 한다.

ISC, MIT, BSD 라이센스를 가진 패키지는 사용한 패키지와 라이센스만 밝히면 자유롭게 사용 가능하다.

Apache 라이센스 패키지는 사용은 자유롭지만 특허권에 대한 제한이 포함되어 잇다.

GPL 계열의 패키지를 사용할 때는 주의해야 한다. 해당 패키지를 사용한 패키지를 배포할 때는 자신의 패키지도 GPL로 배포하고 소스 코드도 공개해야 한다.

2-2. scripts

package.json 내부에 scripts 부분은 npm 명령어를 저장해두는 곳이다.

콘솔에서 npm run + [스크립트 명령어]를 입력하면 해당 스크립트가 실행된다.

npm run 스크립트 명령어

예를 들어 당장 npm run test를 실행했을 경우에는 script 부분 내부에 명시된 test에 작성된 문장이 실행된다.

$ npm run test

> react-nodebird-front@1.0.0 test
> echo "Error: no test specified" && exit 1

"Error: no test specified" 

또한 test 스크립트 외에도 scripts 속성에 여러 명령어를 등록하고 사용할 수 있다. 이 중 start 명령어나 test 같은 스크립트는 run을 붙이지 않아도 실행된다.

profile
프론트엔드를 희망했었던 화학공학과 취준생

0개의 댓글