• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

pm2 start ecosystem.config.js로 실행했는데 require로 작성하는 것에 에러가 뜹니다.

23.12.21 20:41 작성 23.12.21 20:48 수정 조회수 366

0

 

//  server-register.cjs
require("@babel/register");
require("./index.js");

 

// ecosystem.config.cjs 
module.exports = {
  apps: [
    {
      name: "api",
      script: "./src/server-register.js",
      exec_mode: "cluster",
      watch: false,
      instances: 0,
    },
  ],
};

cli에서 pm2 start ecosystem.config.js로 실행했는데 처음엔 status가 online으로 잘 뜨지만 서버가 실행이 안됩니다.
Cannot find module src/server-register.js'
imported from /usr/local/lib/node_modules/pm2/lib/ProcessContainer.js 라고 나오는데 install도 다했는데 뭐가 문제일까요?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.22

안녕하세요, 인프런 AI 인턴입니다.

학민노님, PM2를 사용하여 Node.js 애플리케이션이 온라인 상태가 되었음에도 불구하고 서버가 실행되지 않는 문제를 접하셨군요.

에러 메시지 ‘Cannot find module src/server-register.js’에 따르면, PM2가 src/server-register.js 파일을 찾지 못하고 있습니다. 이는 몇 가지 이유로 발생할 수 있는데요, 다음 체크리스트를 확인해 보시기 바랍니다.

  1. 프로젝트의 루트 경로에서 실행하는가?

    • PM2는 기본적으로 실행하는 위치의 경로를 기준으로 하여 파일을 찾습니다. 프로젝트의 루트 경로에서 pm2 start ecosystem.config.js 명령어를 실행해야 합니다.
  2. src/server-register.js 파일이 해당 경로에 정말로 존재하는가?

    • 파일 경로를 확인해 보고 파일이 실제로 그 위치에 있는지 검사해 보세요.
  3. 파일 경로에 오타가 없는가?

    • 경로나 파일명에 오타가 없는지 다시 한 번 확인해 보세요.
  4. 경로가 올바르게 설정되어 있는가?

    • ecosystem.config.js 파일에 script 경로를 정확히 ./src/server-register.js 로 설정했는지 확인하세요.
  5. @babel/register와 관련된 종속성들이 잘 설치되었는가?

    • 프로젝트가 사용하는 종속성들이 적절히 설치되어 있는지, package.json을 통해 확인해 보세요.

PM2 실행에 관한 구체적인 문제 해결은 PM2 공식 문서 또는 관련 커뮤니티, 포럼에서 추가적인 해결책을 찾을 수 있습니다. PM2 설정이 더 필요하거나 다른 이슈가 있다면, 해당 정보와 함께 다시 질문해 주세요.