nodemon 설치/실행 오류 잡기

iberis2·2023년 3월 28일
0

React 리액트

목록 보기
7/20

nodemon을 이용하면 재시작 없이 수정되는 코드를 자동 반영 할수 있다

Node.js 개발 시 자바 스크립트 파일들을 수정 할때마다 매번 ctrl+c 로 node를 종료 후 다시 실행해야하는 번거로움이 있다. nodemon 은 이러한 번거로움을 해결해주는 아주 편리한 모듈이다.
nodemon 은 node monitor의 약자로, 노드가 실행하는 파일이 속한 디렉터리를 감시하고 있다가 파일이 수정될 경우 자동으로 서버를 재실행시켜준다.

nodemon 설치

개발용으로 local에 설치

npm i nodemon --save-dev 
# 또는
npm i -D nodemon

보통 개발 단계에서 주로 사용하기 때문에 -D 옵션으로 주로 설치한다.

전역에 설치

npm i -g nodemon

permission 에러

전역에 설치하는 경우 permission이 필요하다는 문구가 나오기도 한다.

Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/nodemon'
또는
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
이러한 에러를 만나면 sudo 키워드로 관리자 권한을 주면된다.

sudo npm i -g nodemon

비밀번호를 누르고 엔터치면 설치가 된다.

command not found: nodemon

개발용으로 잘 설치가 되면,
package.json 파일 devDependency에 nodemon이 생긴 것을 확인할 수 있다.

이때 nodemon 파일이름 으로만 터미널에서 실행시키면 command not found: nodemon 에러가 나올 수 있다.

npx nodemon 파일이름

npx nodemon 파일이름 으로 실행시키면 정상적으로 동작한다.

또는 package.json 파일의 script 에 명령어를 추가해서 명령어로 실행시킬수도 있다.

"scripts": {
    "start": "nodemon 파일이름"
  // 또는 "start": "npx nodemon 파일이름" 로 적어도 된다.
  },

모듈을 설치 할 때 -g 옵션으로 설치하면해 전역에 설치가 되어, nodemon을 어디서든지 터미널에서 사용할 수 있게 되지만,
(package.json에는 추가가 안되요. 이미 추가되어 있었으면 그대로 있구요)

-D 옵션으로 개발용으로 설치 후
package.json의 script를 통하지 않고 터미널에 바로 nodemon 명령어를 사용하면, 전역에 설치한 것이 아니기 때문에, 컴퓨터는 nodemon이 뭔지 알 수 없어 command not found: nodemon 에러가 발생하게 된다.

한편, package.json의 script로 nodemon을 실행하면 node_modules에 설치된 nodemon을 가져다가 사용하게 되므로 문제 없이 실행이 되게 된다.

profile
React, Next.js, TypeScript 로 개발 중인 프론트엔드 개발자

0개의 댓글