source

오류 '디지털 봉투 루틴', 이유: '지원되지 않음', 코드: 'ERR_OSSL_EVP_'를 받는 중지원되지 않음'

gigabyte 2023. 3. 5. 09:51
반응형

오류 '디지털 봉투 루틴', 이유: '지원되지 않음', 코드: 'ERR_OSSL_EVP_'를 받는 중지원되지 않음'

Next.js를 배울 때 이 오류가 발생했습니다.npx create-next-apphttps://nextjs.org/docs/api-reference/create-next-app에 있는 사이트 설명서에 따라 명령을 수행합니다.서버를 시작할 때까지 모든 것이 작동하지만

오류 스택:

$ npm run dev

> devto-clone@0.1.0 dev
> next dev

ready - started server on 0.0.0.0:3000, url: http://localhost:3000
info  - Using webpack 5. Reason: Enabled by default https://nextjs.org/docs/messages/webpack5
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:130:10)
    at BulkUpdateDecorator.hashFactory (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:138971:18)
    at BulkUpdateDecorator.update (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:138872:50)
    at OriginalSource.updateHash (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack-sources3\index.js:1:10264)
    at NormalModule._initBuildHash (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68468:17)
    at handleParseResult (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68534:10)
    at C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68628:4
    at processResult (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68343:11)
    at C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68407:5
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:130:10)
    at BulkUpdateDecorator.hashFactory (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:138971:18)
    at BulkUpdateDecorator.update (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:138872:50)
    at OriginalSource.updateHash (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack-sources3\index.js:1:10264)
    at NormalModule._initBuildHash (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68468:17)
    at handleParseResult (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68534:10)
    at C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68628:4
    at processResult (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68343:11)
    at C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68407:5
node:internal/crypto/hash:67
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:130:10)
    at BulkUpdateDecorator.hashFactory (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:138971:18)
    at BulkUpdateDecorator.update (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:138872:50)
    at OriginalSource.updateHash (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack-sources3\index.js:1:10264)
    at NormalModule._initBuildHash (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68468:17)
    at handleParseResult (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68534:10)
    at C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68628:4
    at processResult (C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68343:11)
    at C:\xampp\htdocs\devto-clone\node_modules\next\dist\compiled\webpack\bundle5.js:68407:5 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v17.0.1

패키지.json:

{
  "name": "devto-clone",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  },
  "dependencies": {
    "next": "11.1.2",
    "react": "17.0.2",
    "react-dom": "17.0.2"
  },
  "devDependencies": {
    "eslint": "7.32.0",
    "eslint-config-next": "11.1.2"
  }
}

이 솔루션을 찾았습니다.https://github.com/webpack/webpack/issues/14532

  1. bash를 사용하는 경우 그냥 실행NODE_OPTIONS=--openssl-legacy-provider어떤 명령도 하기 전에

  2. 추가NODE_OPTIONS=--openssl-legacy-provider패키지화 합니다.json

    "scripts": {
       "start": "SET NODE_OPTIONS=--openssl-legacy-provider && react-scripts start",
       "build": "SET NODE_OPTIONS=--openssl-legacy-provider && react-scripts build"
     },
    

편집

제 경우 Nodejs 17.0.1 버전을 사용하고 있으며, 이로 인해 이 오류가 발생합니다.

먼저 이 명령어를 사용합니다.export NODE_OPTIONS=--openssl-legacy-provider이 문제를 수정하기 위해 GitBash Windows에서 명령을 실행하기 전에 먼저 명령을 실행합니다.

하지만 효율적인 방법은 아니라고 생각하기 때문에 제가 하는 일은 다음과 같습니다.

  1. Nodejs 17.0.1을 제거합니다.
  2. 다시 설치합니다.Nodejs 16.13.0 버전
  3. "yarn serve"(기존 Vuejs 프로젝트 중 하나)를 사용하여 서버를 시작할 때 또 다른 오류가 발생합니다.이것은 기억나지 않지만, "yarn serve"와 "yarn serve"를 실행하면 모든 것이 정상적으로 동작합니다.

방금 이 에러가 발생했습니다만, Node 버전 17+ 를 사용하고 있는 것 같습니다.아직 일부 웹팩과 호환되지 않습니다.

대신 LTS 버전(현재 16.13.0)을 사용해 보십시오.

MacOS 및 리액트 네이티브의 경우:

"scripts": {
   "start": "NODE_OPTIONS=--openssl-legacy-provider react-native start",
}

이 문제는 최신 노드버전 17.4.0을 사용하고 있을 때 도커 이미지의 빌드에서 발생했습니다.

Node v.14 이미지로 전환하여 수정할 수 있었습니다.

nvm을 사용하는 경우 네이티브로 대응하여 이 문제에 직면합니다.nvm 기본 버전 16.13을 사용해 보십시오.

nvm alias default v16.13.0

이것은 개발 중에 오류를 제거하는 데 도움이 되었습니다.그 후 번들을 작성하는 동안 릴리스 모드에서 오류가 발생했습니다.문제를 발견했습니다.nvm을 node 17로 디폴트로 사용하고 있었습니다.하고 나서

nvm uninstall v17

릴리스 오류가 사라졌습니다.

언급URL : https://stackoverflow.com/questions/69719601/getting-error-digital-envelope-routines-reason-unsupported-code-err-oss

반응형