오류 '디지털 봉투 루틴', 이유: '지원되지 않음', 코드: 'ERR_OSSL_EVP_'를 받는 중지원되지 않음'
Next.js를 배울 때 이 오류가 발생했습니다.npx create-next-app
https://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
bash를 사용하는 경우 그냥 실행
NODE_OPTIONS=--openssl-legacy-provider
어떤 명령도 하기 전에추가
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에서 명령을 실행하기 전에 먼저 명령을 실행합니다.
하지만 효율적인 방법은 아니라고 생각하기 때문에 제가 하는 일은 다음과 같습니다.
- Nodejs 17.0.1을 제거합니다.
- 다시 설치합니다.Nodejs 16.13.0 버전
- "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
'source' 카테고리의 다른 글
게시 오류:상대 경로가 동일한 여러 게시 출력 파일을 찾았습니다. (0) | 2023.03.05 |
---|---|
ng-repeat 및 nested 루프가 있는 행 추가 (0) | 2023.03.05 |
Oracle SQL: Select Statement와 함께 시퀀스 삽입 사용 (0) | 2023.03.05 |
컴포넌트 클래스의 템플릿 참조 변수에 액세스합니다. (0) | 2023.03.05 |
ASP에서 JSON을 반환하는 방법NET 및 jQuery (0) | 2023.02.28 |