Open Manuel-Suarez-Abascal opened 2 years ago
I am having the same issue with Windows 10 21H1 (19048.1348), WSL 2 (Ubuntu 20.04.3 LTS) and Node 17.0.1.
We have two three workarounds:
--openssl-legacy-provider
argument in start
script in package.json, but it is not recommended!While you wait for a new CRA version, you can run Node version 16 without uninstalling version 17 using nvm
nvm install 16.13.0
nvm run 16.13.0
Have a look at creating a .nvmrc
file in your projects root.
https://github.com/nvm-sh/nvm#nvmrc
I assume the issue is CRA using webpack-v4 and is resolved upgrading to v5 ( I haven’t actually validated this ) (#14532)
This issue has been automatically marked as stale because it has not had any recent activity. It will be closed in 5 days if no further activity occurs.
Came across the same bug. OS: Ubuntu 20.0.4 node: v17.3.1 npm: 8.3.0
I'm also experiencing this problem with the latest version of nodejs and NPM: node: v17.3.1 npm: 8.3.0
I'm having the same issue within CentOs Stream Version 9: node: v17.3.0 npm: 8.3.0
My work around was to down-grade Node:
$ npm install -g n $ n 16.13.1
$ nvm install 16.13.1 $ nvm use 16.13.1
Then I was able to continue with the build process.
Running react build also triggers this problem. The only workaround right now is to use Node 16.x
Just as @TadRodgers and @Manuel-Suarez-Abascal mentioned: downgrading node is probably the best way to go. Did that and everything is working just fine now.
I used:
npm uninstall node
to uninstall node
npm install node@16.13.1
to install node at that specific version
then source ./bash_profile
to do some shell magic in order to register my current session with the current installation.
While you wait for a new CRA version, you can run Node version 16 without uninstalling version 17 using
nvm
nvm install 16.13.0
nvm run 16.13.0
Have a look at creating a
.nvmrc
file in your projects root. https://github.com/nvm-sh/nvm#nvmrcI assume the issue is CRA using webpack-v4 and is resolved upgrading to v5 ( I haven’t actually validated this ) (#14532) #11563 #11562
workaround is not what I am looking for rn :(
While you wait for a new CRA version, you can run Node version 16 without uninstalling version 17 using
nvm
nvm install 16.13.0
nvm run 16.13.0
Have a look at creating a.nvmrc
file in your projects root. https://github.com/nvm-sh/nvm#nvmrc I assume the issue is CRA using webpack-v4 and is resolved upgrading to v5 ( I haven’t actually validated this ) (#14532) #11563 #11562workaround is not what I am looking for rn :(
Haha, @rhythmshandlya You can try the Alpha release that supports webpack v5 and see if you get the same error. I'm sure the devs would appreciate the testing feedback.
npx create-react-app@next --scripts-version=@next --template=cra-template@next my-js-app
I faced this error on Windows 10 as well as Ubuntu due to Node version 17. Yes, I simply switched to nvm 16.13.0 and it started running. Thanks @nicholasrobertson , it worked like a charm!
Hi,
I am using CRA 5 and I am having the same error, Do you know when it will be fixed?
Thanks!
@RodrigoTomeES , is there any reason to use Node V17 over Node 16 LTS?
@maulik-modi Hi, I am using this new feature from Node 17.
import config from './sample.config.json' assert { type: 'json' };
I got this error while importing svg (import logo from './logo.svg';
).
running npm update loader-utils
solved it.
In our case, we didn't downgrade node and kept v17.x but we added this to the package.json build command:
--openssl-legacy-provider
Just for anyone finding this; it's not exclusively a v17.x issue, but depends on the system openssl version. For example I hit this on Fedora 36 with the packaged version of nodejs (16.14.0) -- this doesn't have the --openssl-legacy-provider
tag. I ended up installing an alternative version with nvm --install lts
cd into your newly created app directory run the following Run: npm install -g npm-check-updates
Then: ncu -u
Then: npm install
Then: npm start
I am encountering this bug on a clean Ubuntu 22.04 machine with the lastest CRA (5.0.1). Unfortunately I have neither the time, nor the capabilities to investigate this bug, any further.
Are there any news on when it should be fixed?
nvm install 16.13.1
Thanks, it helped me to resolve my issue😊
Lol installing 16.13.1 and then reinstalling node_modules results in:
Internal Error: Unable to deserialize cloned data due to invalid or unsupported version.
at Object.deserialize (node:v8:344:7)
at Ke.restoreInstallState (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:447:965)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async LC.execute (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:561:1879)
at async LC.validateAndExecute (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:337:620)
at async oo.run (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:351:1846)
at async oo.runExit (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:351:2013)
at async i (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:448:12377)
at async r (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:448:10617)
On the other hand, adding the --openssl-legacy-provider
flag adds more errors. Now I've reinstalled my latest node so at least I'm done to one error and broken hot reloading, and instead I'm up to 52 errors, broken everything and can't work.
Lol installing 16.13.1 and then reinstalling node_modules results in:
Internal Error: Unable to deserialize cloned data due to invalid or unsupported version. at Object.deserialize (node:v8:344:7) at Ke.restoreInstallState (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:447:965) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async LC.execute (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:561:1879) at async LC.validateAndExecute (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:337:620) at async oo.run (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:351:1846) at async oo.runExit (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:351:2013) at async i (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:448:12377) at async r (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:448:10617)
On the other hand, adding the
--openssl-legacy-provider
flag adds more errors. Now I've reinstalled my latest node so at least I'm done to one error and broken hot reloading, and instead I'm up to 52 errors, broken everything and can't work.
Adding the --openssl-legacy-provider
worked for me.
Steps to resolve the issue using --openssl-legacy-provider
:
It should look like this :
"start": "react-scripts --openssl-legacy-provider start",
first, check your local System version for npm ( npm -v ) and node ( node -v ) and add in your package.json "engines": { "node": "YOUR_SYSTEM_NODE_VERISON", "npm": "YOUR_SYSTEM_NPM_VERISON" }
Updating loader-utils
from 2.0.0
to 2.0.1
or above in yarn.lock
worked for me.
loader-utils
added support for Node.js 17 in https://github.com/webpack/loader-utils/pull/193
I find this works to just use node 18....
set NODE_OPTIONS=--openssl-legacy-provider
Tonya713MS commented Oct 5, 2022
it works with react projects. many thanks
I am struggling with this too....
yarn v1.22.17
I tried to run my @React app and got Error:0308010C:digital envelope routines::unsupported. I've spent a few hours searching around and can't find a solid answer to the problem. Is there any other solution without downgrading node version...? Thanks..!!
Have you tried setting this ENV VAR?
NODE_OPTIONS=--openssl-legacy-provider
I haven't tried it against node v19 yet but it works for us on node 18.4.0 and on macos
Note however that for us this needs to be just a temporary solution until the issue is resolved in the underlying dependency since its likely we want to be able to use to non-legacy openssl provider in the long term
@julianD77 I've tried that and it's still the same problem for me.
I got this error while importing svg (
import logo from './logo.svg';
). runningnpm update loader-utils
solved it.
It`s worked for me
when i start in termux app(android) it goes error like this too
Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:71:19) at Object.createHash (node:crypto:140:10) at module.exports (/data/data/com.termux/files/home/react/web-chat-pingo/node_modules/webpack/lib/util/createHash.js:135:53) at NormalModule._initBuildHash (/data/data/com.termux/files/home/react/web-chat-pingo/node_modules/webpack/lib/NormalModule.js:417:16) at /data/data/com.termux/files/home/react/web-chat-pingo/node_modules/webpack/lib/NormalModule.js:452:10 at /data/data/com.termux/files/home/react/web-chat-pingo/node_modules/webpack/lib/NormalModule.js:323:13 at /data/data/com.termux/files/home/react/web-chat-pingo/node_modules/loader-runner/lib/LoaderRunner.js:367:11 at /data/data/com.termux/files/home/react/web-chat-pingo/node_modules/loader-runner/lib/LoaderRunner.js:233:18 at context.callback (/data/data/com.termux/files/home/react/web-chat-pingo/node_modules/loader-runner/lib/LoaderRunner.js:111:13) at /data/data/com.termux/files/home/react/web-chat-pingo/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' }
maybe it just unsupported on babel loader CMIIW
Lol installing 16.13.1 and then reinstalling node_modules results in:
Internal Error: Unable to deserialize cloned data due to invalid or unsupported version. at Object.deserialize (node:v8:344:7) at Ke.restoreInstallState (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:447:965) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async LC.execute (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:561:1879) at async LC.validateAndExecute (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:337:620) at async oo.run (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:351:1846) at async oo.runExit (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:351:2013) at async i (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:448:12377) at async r (/home/andrey/Code/cashflowio/.yarn/releases/yarn-3.1.1.cjs:448:10617)
On the other hand, adding the
--openssl-legacy-provider
flag adds more errors. Now I've reinstalled my latest node so at least I'm done to one error and broken hot reloading, and instead I'm up to 52 errors, broken everything and can't work.Adding the
--openssl-legacy-provider
worked for me.Steps to resolve the issue using
--openssl-legacy-provider
:
- update your start script in package.json to use react-scripts --openssl-legacy-provider start
It should look like this :
"start": "react-scripts --openssl-legacy-provider start",
This works for me!
cd into your newly created app directory run the following Run: npm install -g npm-check-updates
Then: ncu -u
Then: npm install
Then: npm start
This one works perfectly well!
Hello, if this can help future people encountering this issue.
The problem seems to be at loader-utils
library level and this was patched on version 2.0.1
Here is the fix: https://github.com/webpack/loader-utils/pull/193
On my project I specified a resolution for this dependency and it's working perfectly without the need for specifying Node's NODE_OPTIONS=--openssl-legacy-provider
option.
Extract from package.json
:
{
"name": "My project",
"version": "1.0.0",
"dependencies": {
"react-scripts": "^5.0.1",
...
},
+ "resolutions": {
+ "loader-utils": "^2.0.1"
+ }
}
Describe the bug
I installed the latest Node version, currently, it's
17.2.0
. When I try to start the project in development mode with the commandnpm run start
, it throws an error & it's unable to start the project for development.Pre-requisites:
17.2.0
.8.1.41
.Windows PowerShell
Steps to reproduce:
npx create-react-app hello-world
npm run start
Expected results
It was expected to compile in dev mode & launch React's app in the browser like in the screenshot below: ( which it's using Node's version
16.13.1
)Actual results
It doesn't compile & it throws the following error instead:
This is a screenshot of the issue:
Workaround
17.2.0
16.13.1
npm run start
The app should compile now.