Daily

windows에서 백그라운드로 타입스크립트 실행시키는 법

코딩스케치 2025. 7. 28. 20:24

# window에서 백그라운드로 프로그램을 실행시켜보자.

어쩌다 windows에서 백그라운드로 typescript 기반 코드를 실행시켜놓을 일이 생겼다. 보통 리눅스를 쓰기 때문에 윈도우는 크게 다른가 싶었는데 똑같이 pm2를 활용할 수 있다. Service를 통해 등록하는 방법도 있지만 가장 편한 방법이 pm2를 통한 방법이라고 생각된다.

 

# bun설치 오류가 뜬다.

windows에서 pm2를 통해 ts파일을 실행시키려고 하면 보통 bun이 미설치 되었다고 뜰 것이다. 이는 .cmd 파일을 잘못 인식해서 node가 아닌, js의 runtime으로 실행시키려는 특성 때문이다. 파일에 명시해줌으로써 node를 runtime으로 인식할 수 있도록 해주자

 

ecosystem.config.js

module.exports = {
          apps: [{
                      name: 'pm2-process-name',
                      script: 'myFile.ts',
                      interpreter: 'node',
                      interpreter_args: '-r ts-node/register',
                      exec_mode: 'fork',
                      instances: 1,
                      autorestart: true,
                      watch: false,
                      max_memory_restart: '1G',
                      env: {
                                    NODE_ENV: 'development'
                                  }
                    }]

위에서 name을 pm2의 process로 띄울 이름으로, script는 내가 실행시킬 파일로 해주면 된다.

작성 해준 뒤,

pm2 start ecosystem.config.js

명령어로 실행 시켜주자

 

# pm2 설치 방법

npm install -g pm2

pm2 --version

 

# npx란

특정 패키지가 없는 경우도 실행 가능하도록 해주는 패키지관리자

npx ts-node myFile.ts <= ts-node가 없어도 ts파일 실행을 ts-node를 통해 할 수 있도록

 

# ts-node

ts파일을 node를 통해 실행 가능하게 해준다.

타입스크립트 설치 없이도 node에서 ts파일 실행이 가능하다.