• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

NODE_ENV 확인하는 방법?

22.04.22 17:58 작성 조회수 1.62k

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

하잉님의 프로필

하잉

2022.04.23

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

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

0

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

homie님의 프로필

homie

질문자

2022.04.22

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

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

homie님의 프로필

homie

질문자

2022.04.22

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

app.js

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

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