Error: error:0308010C:digital envelope routines::unsupported

SP Yoon - Error Note·2022년 12월 6일
0

Error Note

목록 보기
3/6

Error: error:0308010C:digital envelope routines::unsupported

  • 증상: nuxt 프로젝트 실행시 해당 에러 발생

  • 원인:

    • Node.js v17 이상부터 OpenSSL v3.0을 사용하는데 이전버전과 호환되지 않는다.
      Nuxt v2.15.8 프로젝트의 기본 모듈에서는 v3.0 미만의 OpenSSL 사용해서 호환성문제로 에러발생 한듯.
  • 해결
    1. Node.js 버전을 v16 이하로 다운그레이드 한다.
    2. node 환경변수에 NODE_OPTIONS="--openssl-legacy-provider" 옵션을 추가한다 → 실패
    3. package.json - scripts 실행명령어 뒤에 --openssl-legacy-provider 옵션을 추가한다 → 실패

    "scripts": {
      "start": "nuxt start --openssl-legacy-provider",
    }

    4.package.json - scripts 실행명령어 앞에 NODE_OPTIONS=--openssl-legacy-provider 옵션을 추가한다. → success

    • window 환경에서는 위 옵션을 사용하려면 cross-env 패키지가 필요하다.

      $ npm i cross-env  
      package.json
      "scripts": {
          "dev": "cross-env NODE_OPTIONS=--openssl-legacy-provider nuxt",
          "start": "...",
          ...
      }
    1. create-react-app을 사용하는경우 v5.0.1 이상으로 업데이트

https://www.newline.co/@kchan/how-to-fix-the-error-errorerror0308010cdigital-envelope-routinesunsupported--0f8d3f17

https://bobbyhadz.com/blog/react-error-digital-envelope-routines-unsupported

0개의 댓글