본문 바로가기
개발 이야기/NodeJS

Gulp 사용 시 Nodejs 구버전 빌드 실패

by 농개 2024. 8. 19.
반응형

 

목차

    1. 이슈 발견

    어느날 배포 후, 아래와 같은 에러가 발견되었습니다.

    [2024-07-29T09:26:47.489] [ERROR] error - Error: Could not find include include file.
        at getIncludePath (/opt/www/node_modules/ejs/lib/ejs.js:152:13)
        at includeSource (/opt/www/node_modules/ejs/lib/ejs.js:276:17)
        at /opt/www/node_modules/ejs/lib/ejs.js:629:26
        at Array.forEach (<anonymous>)
        at Template.generateSource (/opt/www/node_modules/ejs/lib/ejs.js:605:15)
        at Template.compile (/opt/www/node_modules/ejs/lib/ejs.js:509:12)
        at Object.compile (/opt/www/node_modules/ejs/lib/ejs.js:358:16)
        at handleCache (/opt/www/node_modules/ejs/lib/ejs.js:201:18)
        at tryHandleCache (/opt/www/node_modules/ejs/lib/ejs.js:223:14)
        at View.exports.renderFile [as engine] (/opt/www/node_modules/ejs/lib/ejs.js:437:10)
        at View.render (/opt/www/node_modules/express/lib/view.js:135:8)
        at tryRender (/opt/www/node_modules/express/lib/application.js:640:10)
        at Function.render (/opt/www/node_modules/express/lib/application.js:592:3)
        at ServerResponse.render (/opt/www/node_modules/express/lib/response.js:1008:7)
        at service.list (/opt/www/controllers/serviceController.js:90:9)
        at Layer.handle [as handle_request] (/opt/www/node_modules/express/lib/router/layer.js:95:5)

     

    웹페이지 접근 시 Error: Could not find include include file. 라는 메시지와 함께

    페이지 렌더링 시 오류가 나는 듯 했습니다.

     

    업데이트를 진행한 부분이 아닌 곳에서의 갑자기 발생한 이슈라 의아 했는데요.

    알고보니...

     

    2. 원인

    회사에서 사용 중인 빌드 도구의 에러 메시지를 뒤늦게 발견했습니다.

    Error: yargs parser supports a minimum Node.js version of 10. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions
        at Object.<anonymous> (/home/www/.nvm/versions/node/v8.4.0/lib/node_modules/gulp/node_modules/yargs-parser/build/index.cjs:1007:15)
        at Module._compile (module.js:573:30)
        at Object.Module._extensions..js (module.js:584:10)
        at Module.load (module.js:507:32)
        at tryModuleLoad (module.js:470:12)
        at Function.Module._load (module.js:462:3)
        at Module.require (module.js:517:17)
        at require (internal/module.js:11:18)
        ...

     

    yargs parser supports a minimum Node.js version of 10

     

    yargs-parser라는 라이브러리가 Nodejs 버전이 최소 10에서 지원한다는 뜻입니다.

    기존 사용하고 있던 Nodejs 버전은 8.4.0 이었습니다.

    Nodejs에서 배포나 빌드 후 갑자기 안되는게 있으면 대부분이 버전 간 의존성 때문인 듯하네요..🫡

     

     

    3. 버전 업그레이드

    nvm을 사용하고 있었기에 아래와 같이 10 버전대를 설치하고 default로 수정해줬습니다.

    # 설치
    nvm install 10.24.1
    # default version 수정
    nvm alias default 10.24.1

     

    이 후, 빌드가 성공됨을 확인 할 수 있었습니다.

     

    반응형