본문 바로가기
문제해결

[Node.js] error:03000086:digital envelope routines::initialization error 해결

by amoomar 2025. 1. 3.
반응형

        윈도우 체제에서 해당 오류를 개선하기 위한 방법을 정리하였다.

        오류 예시

           

           

          요약

          Node.js 17 이상에서 OpenSSL 3.0 호환성 문제로 발생한다. 때문에 Node.js를 다운그레이드하거나 --openssl-legacy-provider를 사용하여 해결 가능하다.

           


           

          Node.js 다운그레이드

          윈도우용 nvm을 설치하여 Node.js의 버전을 변경하는 방법이다. 아래 링크에서 필요 파일을 다운받을 수 있다.

          https://github.com/coreybutler/nvm-windows/releases

           

          Releases · coreybutler/nvm-windows

          A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows

          github.com

           

          zip파일 안에 있는 setup 파일을 열고 설치하면 된다.

           

          동의 설정만 추가하며, 기타 사항은 기본 체크 항목으로 설치를 진행한다. (기존 설치되어있던 node는 삭제되고 재설치 됨) 만일 이전 Node.js를 설치할때 기본 경로(C:\Program Files\nodejs) 외의 다른 경로에 설치했다면, 설치 중에 경로를 명시적으로 설정해야 할 수도 있다.

           

          설치가 완료되면 관리자 권한 cmd창을 실행하여, 아래 명령어를 활용하여 사용할 Node버전을 17미만으로 세팅해주면 된다.

          > node -v // 노드 현재버전 확인
          > nvm install <노드 버전> // 변경할 버전을 설치
          > nvm use <노드 버전> // 설치한 버전으로 변경
          > node -v // 변경된 노드 버전 확인

           


           

          openssl-legacy-provider 설정

          --openssl-legacy-provider는 Node.js 17 이상에서 OpenSSL 3.0을 사용하는 과정에서 발생할 수 있는 호환성 문제를 해결하기 위해 제공되는 옵션입니다. 이 옵션은 OpenSSL 3.0에서 비활성화되었거나 제거된 일부 암호화 알고리즘과 기능을 이전 방식으로 작동하도록 설정합니다.

           

          아래 두 가지 방법 중 한가지 방법을 택하여 설정을 진행하면 된다.

           

          1. 환경변수 설정

          Windows PowerShell

          $env:NODE_OPTIONS = "--openssl-legacy-provider"

           

          2. package.json에 설정

          당연한 이야기 이지만 scripts 영역을 이미 작성해둔 사항이 있다면, 해당 영역에 주석이 달린 라인만 추가해주면 된다.

          "scripts": {
            "start": "node --openssl-legacy-provider app.js" //앱 실행 시 해당 명령어 실행
          }

           

           


           

           

          해당 게시물 작성에 참고한 포스팅 링크를 첨부하였다.

           

          https://ahn3330.tistory.com/45

           

          [Node.js] windows에서 노드 버전 변경 - downgrade/upgrade

          사용해야되는 모듈이 현재 node 버전을 지원하지않아서 버전 downgrade를 해야됐습니다. linux나 mac 환경에서 노드 버전 관리 방법은 정리해주신 분들이 많았지만, 윈도우 환경에서 방법을 정리해주

          ahn3330.tistory.com

           

          https://velog.io/@rcg0529/ErrorReact%EC%8B%A4%ED%96%89%EC%98%A4%EB%A5%98-error03000086digital-envelope-routinesinitialization-error

           

          [Error]React실행오류 'error:03000086:digital envelope routines::initialization error'

          Linux and mac OS(Windows Git Bash)export NODE_OPTIONS=--openssl-legacy-providerWindows command prompt ( cmd ) set NODE_OPTIONS=--openssl-legacy-provid

          velog.io

           

          반응형