npm-run-all 패키지를 사용해 하위 폴더 전부에 npm install 적용하기

조석용·2022년 6월 18일
0
post-thumbnail

서론

react와 express를 사용해 일정 관리 웹 앱을 만드는 토이 프로젝트를 진행하던 도중, 작업 환경이 집 PC - 집 노트북 - 회사 노트북 총 3가지로 나뉘었습니다.

github를 통해 프로젝트를 진행해 파일 동기화에는 문제가 없었으나 node_modules와 같은 크기가 큰 폴더 는 github에 올릴 수 없었습니다. 따라서 packages.json을 업로드한 후 npm install을 통해 패키지를 받아와야 했습니다.

다만 frontend 부분과 backend 부분이 각각 다른 packages.json을 사용했으며, 따라서 각 폴더로 이동한 후 npm install을 실행해야 했습니다.

이렇게 root 폴더, client 폴더, server 폴더 세곳에 각각 npm install을 총 3번 실행하는게 너무 귀찮았기 때문에, 이를 하나의 명령어로 해결하고 싶었고 이 글을 작성하게 되었습니다.


npm-run-all

packages.json에 작성한 scripts들은 기본적인 명령어로는 한번에 여러개의 script를 실행할 수 없습니다.
하나의 명령어로 여러개를 실행하고 싶을 때 npm-run-all패키지를 사용하면 됩니다.

설치

npm install npm-run-all --save-dev

사용법

아래 세개의 폴더에 npm install을 실행하는 코드를 npm-run-all 패키지를 사용해 작성해보겠습니다.

root					<-- 
├── client				<--
├── server				<--
├── package-lock.json
└── package.json

root 폴더에서 동작할 때를 기준으로 root 폴더, client 폴더, server 폴더 각각 npm install을 실행하는 코드를 작성합니다.

"scripts": {
  "install-root": "npm install",
  "install-client": "cd client && npm install",
  "install-server": "cd server && npm install",
}

동시에 실행하고 싶은 스크립트들을 npm-run-all명령어 뒤에 이어 붙입니다.

"install-all": "npm-run-all install-root install-client install-server"

위 코드를 npm run install-all 코드를 통해 실행시킬 경우 npm-run-all 뒤에 작성한 3개의 스크립트가 순차적으로 동작하게 됩니다.

profile
개발자가 되고 싶은 개발자입니다.

0개의 댓글