Skip to content
Go DevBJ
Go back

GitHub Actions Node.js 20 경고 해결 가이드: Node 24 전환

Edit page

최근 GitHub Actions를 통해 블로그를 배포하던 중, 이전에 보지 못한 노란색 경고 창이 나타나기 시작했습니다. 동작에는 문제가 없으나, 엔지니어로서 로그에 남는 경고를 그냥 지나칠 수는 없기에 원인 파악과 해결 과정을 정리해 봅니다.

1. 문제 상황 (The Warning)

GitHub Actions 실행 로그에 다음과 같은 경고 메시지가 반복적으로 노출되었습니다.

Warning: Node.js 20 actions are deprecated. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026.

핵심은 2026년 6월부터 Node 24가 기본 엔진이 되며, 기존 Node 20 기반의 Action 라이브러리들은 지원이 중단된다는 예고입니다.

2. 원인 분석

원인은 단순합니다. 우리가 워크플로(.yml)에서 가져다 쓰는 라이브러리들(actions/checkout, actions/deploy-pages 등)이 내부적으로 구형 Node.js 20 엔진을 타겟으로 설계되었기 때문입니다.

GitHub는 보안과 성능을 이유로 주기적으로 런타임 버전을 올리는데, 현재 과도기에 접어든 셈입니다.

3. 해결 단계

Step 1: 환경 변수 강제 설정

가장 먼저 할 일은 러너(Runner)에게 “나는 이미 Node 24를 쓸 준비가 되었으니 강제로 엔진을 올려라”라고 명령하는 것입니다.

# .github/workflows/deploy.yml
env:
  FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

Step 2: 빌드 노드 버전 명시

Astro와 같은 프레임워크를 빌드할 때 사용하는 노드 버전도 함께 24로 올려주는 것이 좋습니다.

- name: Install, build, and upload your site
  uses: withastro/action@v5
  with:
    node-version: 24 

Step 3: Action 라이브러리 최신화

actions/deploy-pages@v4와 같이 사용 중인 액션들의 마이너 버전을 최신으로 유지합니다. 만약 해당 라이브러리 제작자가 Node 24 대응 업데이트를 마쳤다면, 버전을 올리는 것만으로 경고는 사라집니다.

4. 최종 결과

환경 변수 설정 후 다시 배포를 시도하면, 강제 실행에 따른 안내 메시지는 남을 수 있으나 지원 중단에 따른 삭제 예고 경고는 사라지게 됩니다.

완벽한 해결은 각 액션 라이브러리의 개발자가 Node 24를 공식 타겟으로 삼은 새 버전(예: v5)을 출시했을 때 이를 교체해 주는 것입니다. 그전까지는 env 설정을 통해 미래의 환경을 미리 대비할 수 있습니다.


DevBJ | No Bio, Just Log 기술 삽질로그


Edit page
Share this post on:

Previous Post
[기술 블로그, Adsense 수익화 A to Z: 전략과 최적화]
Next Post
Google AI Studio와 Python SDK: AI 모델 탐색 및 활용 예제