[ERROR] 'NODE_ENV'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.

2023. 7. 25. 12:54WEB개발/에러정리

반응형

1. 원인

package.json 파일의 scripts 부분에 NODE_ENV을 작성하여 환경 설정을 함.

// package.json
...
"scripts": {
 "test": "echo \"Error: no test specified\" && exit 1",
 "prod": "NODE_ENV=production nodemon --watch 'bin/*' --watch 'src/*' bin/index.js",
 "dev": "NODE_ENV=development nodemon --watch 'bin/*' --watch 'src/*' bin/index.js"
},
...

 

 

 

2. 문제

윈도우OS를 사용하고 있어 NODE_ENV를 인식하지 못하는 문제 발생

// error
'NODE_ENV'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.
  • 맥OS, 리눅스: export 명령어로 환경 변수 설정(생략 가능함)
  • 윈도우OS: set 명령어로 환경 변수 설정
// ex
"export NODE_ENV=development nodemon --watch 'bin/*' --watch 'src/*' bin/index.js" // 맥OS. 리눅스
"set NODE_ENV=development nodemon --watch 'bin/*' --watch 'src/*' bin/index.js"    // 윈도우OS

 

 

 

3. 해결

cross-env 모듈을 사용하여 모든 운영체제의 환경 변수 설정 방식을 통일시켜 해결함.

// cross-env 모듈 설치
npm i cross-env
// package.json
...
"scripts": {
 "test": "echo \"Error: no test specified\" && exit 1",
 "prod": "cross-env NODE_ENV=production nodemon --watch 'bin/*' --watch 'src/*' bin/index.js",
 "dev": "cross-env NODE_ENV=development nodemon --watch 'bin/*' --watch 'src/*' bin/index.js"
  },
...

 

 

nodemon이 잘 실행된다!

반응형