Error: error:0308010C:digital envelope routines::unsupported
Closed this issue · 2 comments
Requirements:
Please go through tnhis checklist before opening a new issue
- [ X] Review the documentation
- [X ] Search for existing issues in: viromedia/viro & ViroCommunity/viro
- [X ] Use the latest ViroReact release
Environment
Please provide the following information about your environment:
- Development OS: MacOS Ventura 13.1
- Device OS & Version: Not getting that far
- Version: ViroReact version 2.17.0 React Native version 0.59.9 CLI 2.0.1
- Device(s): Within terminal on MacBook
- Node 21.5.0. OpenSSL 3.2.0. ngrok 3.5.0
Description
Followed instructions found at https://viro-community.readme.io/docs/quick-start-maclinux
Researched error:0308010C and per suggestions upgraded node, OpenSSL and ngrok. Got the same error.
I tried adding "NODE_OPTIONS=--openssl-legacy-provider" in package.json; didn't get any error but froze after "Loading dependency graph, done."
I created a new directory and reinstalled ViroSample there before retrying npm start.
I haven't changed anything in the new ViroSample directory.
Reproducible Demo
danleonard@Dans-MacBook-Pro ViroSample % npm start
ViroSample@0.0.1 prestart
./node_modules/react-viro/bin/run_ngrok.sh
Ngrok is already running
ViroSample@0.0.1 start
node node_modules/react-native/local-cli/cli.js start
┌──────────────────────────────────────────────────────────────────────────────┐
│ │
│ Running Metro Bundler on port 8081. │
│ │
│ Keep Metro running while developing on any JS projects. Feel free to │
│ close this tab and run your own Metro instance if you prefer. │
│ │
│ https://github.com/facebook/react-native │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
Looking for JS files in
/Users/Shared/viro/ViroS2/ViroSample
Loading dependency graph, done.
Loading dependency graph...node:internal/crypto/hash:68
this[kHandle] = new _Hash(algorithm, xofLen);
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:68:19)
at Object.createHash (node:crypto:138:10)
at stableHash (/Users/Shared/viro/ViroS2/ViroSample/node_modules/metro-cache/src/stableHash.js:18:6)
at JsTransformer.getCacheKey (/Users/Shared/viro/ViroS2/ViroSample/node_modules/metro/src/JSTransformer/worker.js:455:7)
at getTransformCacheKey (/Users/Shared/viro/ViroS2/ViroSample/node_modules/metro/src/DeltaBundler/Transformer/getTransformCacheKey.js:39:29)
at new Transformer (/Users/Shared/viro/ViroS2/ViroSample/node_modules/metro/src/DeltaBundler/Transformer.js:147:28)
at /Users/Shared/viro/ViroS2/ViroSample/node_modules/metro/src/Bundler.js:53:27
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Fixed by going to old version of node (Using brew on Mac) . Not sure if the best approach.
brew install node@16
brew unlink node
brew link node@16
Glad you were able to figure this out! We are planning on updating this documentation in the future with a better guide.