Error: error:0308010C:digital envelope routines::unsupported - Next.js
Error: error:0308010C:digital envelope routines::unsupported - Next.js
这个问题出现在 Next.js Node 版本 17 的项目中我尝试了很多解决方案,但这个解决方案是最好的解决方案,如果你遇到这个问题,你可以解决这个问题
> landing-page@0.0.1 dev
> next dev
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db
ready - started server on http://localhost:3000
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 module.exports (E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, Business Website, Portfolio\nextjs_landing_page\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing
Page, Business Website, Portfolio\nextjs_landing_page\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, Business Website, Portfolio\nextjs_landing_page\node_modules\webpack\lib\NormalModule.js:471:10)
at E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, Business Website, Portfolio\nextjs_landing_page\node_modules\webpack\lib\NormalModule.js:503:5
at E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, Business Website, Portfolio\nextjs_landing_page\node_modules\webpack\lib\NormalModule.js:358:12
at E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, Business Website, Portfolio\nextjs_landing_page\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, B at Array.<anonymous> (E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, Business Website, Portfolio\nextjs_landing_page\node_modules\loader-runner\lib\LoaderRunner.js:205:4) {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Node.js v17.2.0
首先,安装 cross-env
npx install cross-env
然后,只需在 package.json
中的脚本中进行设置
"dev": "cross-env NODE_OPTIONS='--openssl-legacy-provider' next dev",
最后 运行 这个命令
npm run dev
这个问题出现在 Next.js Node 版本 17 的项目中我尝试了很多解决方案,但这个解决方案是最好的解决方案,如果你遇到这个问题,你可以解决这个问题
> landing-page@0.0.1 dev
> next dev
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db
ready - started server on http://localhost:3000
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 module.exports (E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, Business Website, Portfolio\nextjs_landing_page\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing
Page, Business Website, Portfolio\nextjs_landing_page\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, Business Website, Portfolio\nextjs_landing_page\node_modules\webpack\lib\NormalModule.js:471:10)
at E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, Business Website, Portfolio\nextjs_landing_page\node_modules\webpack\lib\NormalModule.js:503:5
at E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, Business Website, Portfolio\nextjs_landing_page\node_modules\webpack\lib\NormalModule.js:358:12
at E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, Business Website, Portfolio\nextjs_landing_page\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, B at Array.<anonymous> (E:\Collage\COURSES\react.js projects2.Build and Deploy a Premium Next JS React Website _ Landing Page, Business Website, Portfolio\nextjs_landing_page\node_modules\loader-runner\lib\LoaderRunner.js:205:4) {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Node.js v17.2.0
首先,安装 cross-env
npx install cross-env
然后,只需在 package.json
中的脚本中进行设置"dev": "cross-env NODE_OPTIONS='--openssl-legacy-provider' next dev",
最后 运行 这个命令
npm run dev