0

I have this project that is using react v17 and was created using node v16 and now I want to update it and shift it to node v18 so how can I do it in quick possible way without changing dependencies or other stuff ?

I tried to install dependencies in node 18 , which were installed fine but as I run command to start server I ran into this error.

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (C:\Users\SystemUser\Downloads\Project\Project\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (C:\Users\SystemUser\Downloads\Project\Project\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (C:\Users\SystemUser\Downloads\Project\Project\node_modules\webpack\lib\NormalModule.js:471:10)
    at C:\Users\SystemUser\Downloads\Project\Project\node_modules\webpack\lib\NormalModule.js:503:5
    at C:\Users\SystemUser\Downloads\Project\Project\node_modules\webpack\lib\NormalModule.js:358:12
    at C:\Users\SystemUser\Downloads\Project\Project\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (C:\Users\SystemUser\Downloads\Project\Project\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at iterateNormalLoaders (C:\Users\SystemUser\Downloads\Project\Project\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
C:\Users\SystemUser\Downloads\Project\Project\node_modules\react-scripts\scripts\start.js:19
  throw err;
  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at C:\Users\SystemUser\Downloads\Project\Project\node_modules\loader-runner\lib\LoaderRunner.js:367:11      
    at C:\Users\SystemUser\Downloads\Project\Project\node_modules\loader-runner\lib\LoaderRunner.js:233:18      
    at context.callback (C:\Users\SystemUser\Downloads\Project\Project\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
    at C:\Users\SystemUser\Downloads\Project\Project\node_modules\babel-loader\lib\index.js:59:103 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.16.1```
Vader
  • 1
  • 1
    Does this answer your question? https://stackoverflow.com/questions/69692842/error-message-error0308010cdigital-envelope-routinesunsupported – Lin Du Jul 05 '23 at 10:48
  • I have tried setting 'NODE_OPTIONS=--openssl-legacy-provider.' It shows an error, but the project compiles and runs tested on node v18 and v20. However, I am concerned if this is the correct approach. Should I create a new project and transfer the existing project elements into it? – Vader Jul 05 '23 at 11:09
  • I had similar problems before. The cleanest solution is recreating all the versions. Start with removing node_modules, and cut everything out of your package.json file into a backup text file. Then manually install the lastest dependency one by one to ensure it passes, and also passing npm audit. That way you get fresh updated packages that will work with the updated node version. Then obviously retest your app and make necessary changes. – Steve Tomlin Jul 05 '23 at 12:40

0 Answers0