Search code examples
node.jswebpackzoom-sdk

Node v20.5.1 Zoom React meeting sample error - digital envelope routines::unsupported ... ERR_OSSL_EVP_UNSUPPORTED


Trying to get the zoom react meetingsdk sample working, and when I run npm start I get the following error:

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

  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'

ERR_OSSL_EVP_UNSUPPORTED digital envelope routines error

I've tried to use the responses from this stack overflow thread, setting node options to:

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

And downgrading node versions from v20.5.1 to multiple earlier versions 18.xx, 19.xx

But npm start always spits out that error message.


Solution

  • Finally resolved this issue. It was related to openssl-legacy-provider, and the solution was a modified version from this stack overflow thread

    essentially, was using windows so tried the top answer, changing package.json scripts to:

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

    However, "set SET NODE_OPTIONS....." did not work, instead tweaking this to:

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

    Resolved the issues.

    A cleaner implementation of the above:

    "scripts": {
        "start": "react-scripts --openssl-legacy-provider start"
        "build": "react-scripts --openssl-legacy-provider build"
    }
    

    The meetingsdk had some further issues to overcome, such as 'No version of chokidar available' ( solution here )