인프런 커뮤니티 질문&답변

homie님의 프로필 이미지
homie

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

pm2 사용하기

NODE_ENV 확인하는 방법?

작성

·

2K

0

저번에도 비슷한 질문드렸는데 아무래도 노드 16버전 때문인지 강의랑 똑같이 할때 permission denied 뜹니다.

sudo가 명령어 상에 없는 것 같다고 답 주셔서 

package.json 에 start에다가 그냥 sudo를 직접 넣어 주니까 실행은 됩니다. sudo su로 들어가서 npm start, pm2 monit 전부 강의 화면처럼 나오구요 

근데 궁금한게 cross-env로 환경변수를 설정해 주면 process.env 안에 NODE_ENV가 들어가야 되는게 아닌지요? 확인해 보니까 없는 것 같은데 잘못 된건 가요?

확인은 echo $NODE_ENV 해보니 안뜨구 repl 에서 process.env 쳐봐도 안에 NODE_ENV는 안보이네요?

답변 2

0

저도 같은 고민을 했었어요. ec2 인스턴스에서 NODE_ENV를 명령어로 바꾸고자 했었는데 안되더라구요.

그래서 .env 파일에 NODE_ENV를 정의했었습니다.

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

echo는 서버의 환경변수를 표시하는거고요. 프로세스의 환경변수는 노드 내부에서만 조회 가능합니다.

homie님의 프로필 이미지
homie
질문자

pm2로 서버 실행 후 process.env.NODE_ENV 하면 undefined 인데 혹시 제가 잘못하고 있는 건가요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

저건 서버랑은 다른 프로세스인데요? 다른 프로세스간에는 메모리 공유가 안 됩니다.

homie님의 프로필 이미지
homie
질문자

그럼 app.js 에서 console 찍었을 때 'production' 이라고 나와야 정상 일까요?

app.js

npm start && pm2 monit 시 undefined 라고 뜨네요

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

명령어가 잘못된 것이 sudo는 항상 제일 앞에 있어야 합니다. node 앞에 있는 게 아니라 cross-env 앞에요.

homie님의 프로필 이미지
homie

작성한 질문수

질문하기