NPM 정리

soonrok·2022년 12월 28일
0

기타

목록 보기
2/3
post-thumbnail

NPM이란?

NPM은 Node Package Manager의 약자로 JS 라이브러리를 관리해주는 도구이다. Node.js를 설치하면 자동으로 설치되며 터미널에서 다음과 같은 명령어를 통해 설치를 확인할 수 있다.

// Node.js 설치확인
node -v

// npm 설치확인
npm -v

NPM의 필요성

npm을 사용하는 이유는 npm의 정의와 같이 간단명료하다. 바로 JS 라이브러리의 정리와 관리가 편리해지기 때문이다. 물론 npm을 이용하지 않고 각 라이브러리에서 제공하는 CDN을 사용할 수 있다. 하지만 이 경우 CDN을 검색하고 알맞는 버전을 찾아 가져오는 수고를 해야 하는데 npm을 사용하면 이 수고를 덜 수 있다.

NPM 초기화

어떠한 프로젝트 디렉토리에서 JS 라이브러리 관리를 위해 npm을 사용하기 위해서는 npm 초기화를 진행해야 한다. 초기화는 프로젝트 디렉토리로 이동 후 다음과 같은 명령어를 사용해 진행한다.

// 프로젝트 디렉토리로 이동 후
npm init

그럼 package name, version 등을 입력하는 커맨드가 나오는데 아무 값도 입력하지 않고 Enter를 누르면 기본값으로 설정된다. 모든 값을 설정하고 나면 package.json 파일이 생성되는데 그럼 npm 초기화에 성공한 것이다.

만약 매번 기본값을 Enter를 통해 설정하는 것이 귀찮거나 이미 설정된 기본값에서 몇 가지만 package.json 파일에서 custom하게 바꾸고 싶다면 -y 옵션을 사용하면 된다.

// 모든 값을 기본 값으로 설정한 package.json 파일 바로 생성
npm init -y

NPM을 이용한 라이브러리 설치

이제 npm을 이용해 라이브러리를 관리 할 수 있는 상태가 되었다.
npm을 이용해 라이브러리를 설치하기 위해서는 install 명령어를 사용한다. 이때 install은 add, i, in 등으로 단축될 수 있는데 보통 i를 사용한다.

// 라이브러리 설치
npm i [라이브러리명]

만약 라이브러리명을 명시하지 않고 npm install 만 사용한다면 현재 위치하고 있는 디렉토리내에서 package.json 파일을 찾아 dependencies에 명시된 라이브러리들을 모두 설치한다.

설치된 라이브러리들은 package.json의 dependencies 목록에 추가되며 라이브러리명과 버전이 같이 명시된다.

{
	...
    "dependencies": {
    	"라이브러리명": "버전",	// EX) "yarn": "^1.22.19"
    }
    ...
}

특정 버전 설치

기본적으로 라이브러리의 버전을 명시하지 않으면 최신 버전으로 설치가 되는데 사용하고 싶은 특정 버전이 있다면 다음과 같이 명시할 수 있다.

npm i react // 최신 버전의 react 설치
npm i react@16.13.0 // 16.13.0 버전의 react 설치

전역 설치와 지역 설치

npm을 통해 라이브러리를 설치하면 해당 라이브러리가 설치되는 곳은 크게 두 가지로 나뉜다. 첫 번째는 프로젝트 디렉토리 내에 node_modules 디렉토리에 설치되는 지역 설치와 두 번째로 시스템 상에 설치되는 전역 설치가 있다.

전역 설치된 라이브러리는 터미널에서 관련 명령어를 사용할 수 있다. EX) git

전역 설치를 하기 위해서는 --global 또는 -g 옵션을 붙혀 install 명령어를 사용하면 되는데, 전역 설치로 설치된 라이브러리가 설치되는 경로는 다음과 같다.

// window
%USERPROFILE%\AppData\Roaming\npm\node_modules

// mac
/usr/local/lib/node_modules

그 외에 --global 이나 -g 옵션없이 설치한 라이브러리는 지역 설치되며 이는 다시 개발용 지역 설치와 배포용 지역 설치로 나뉜다.

개발용 지역 설치와 배포용 지역 설치

npm i 라이브러리명 를 통해 설치한 라이브러리는 사실 해당 라이브러리를 지역으로 설치하는 것으로 --save-prod 옵션을 붙혀 사용한 것과 같다.

// 두 명령어는 같은 동작을 수행한다.
npm i yarn
npm i yarn --save-prod

하지만 실제 애플리케이션의 동작에는 필요하지 않지만 Webpack, Lint, Prettier 등과 같이 개발자의 개발을 돕기 위해 사용해야 하는 라이브러리들이 있다. 이러한 라이브러리들은 배포용으로 설치하지 않고 개발용으로 설치하며 package.json의 devDependencies에서 관리되며 빌드하여 배포할때 또한 포함되지 않는다.

라이브러리를 개발용 지역 설치하기 위해서는 install 명령어를 사용할 때 --save-dev 이나 -D 옵션을 사용하면 된다.

// 개발용 지역 설치
npm install webpack -D

NPM을 이용한 라이브러리 삭제

설치된 라이브러리를 삭제하기 위해서는 uninstall 명령어를 사용하면 된다.

// yarn 라이브러리 삭제
npm uninstall yarn

NPM을 이용한 script 실행

package.json 파일을 보면 scripts 라는 속성이 있다. 해당 속성은 원래 길고 복잡하게 사용하는 명령어를 npm을 이용해 짧게 사용할 수 있게 하는 단축기능을 하고 있으며 run 명령어를 통해 사용한다.

// package.json
{
	...
    "scripts": {
    	"build": "webpack"
    },
    ...
}

// 터미널에서 다음 명령어를 실행하면 실제로는 webpack 명령어가 실행된다.
npm run build

start, stop, test와 같은 몇 가지 특별한 단축어는 run 명령어없이 사용해도 가능하다.

// 두 명령어는 같은 동작을 수행한다.
npm start
npm run start

마무리

NPM에 대해서 간단하게 알아보고 사용법을 익혀봤다. 이외에도 많은 명령어와 사용법이 있지만 프로젝트를 진행함에 있어서는 이정도 개념만 숙지하고 있으면 무리가 없을 것 같다.
혹시라도 추가적인 내용이 궁금하다면 공식문서를 참고하길 바란다.

profile
I Will be Relaxed Person

0개의 댓글