Repository navigation
react-scripts fails to build project with Node 17 #11562
Description
Activity
This looks like a relevant discussion related to this issue:
https://stackoverflow.com/questions/69394632/webpack-build-failing-with-err-ossl-evp-unsupportedReacted by Ardeshir Izadi, Victor Ribero, Jacopo Farina and zhcuyHaving the same issue. Node
16.11.1works but17.0.0and17.0.1are causing this error.Reacted by Ardeshir Izadi, Anya Uchenna, Brayan, Fang Xiaoxin and zhcuyYes @Gnito that's it I think. So it is probably either Webpack's to update something, or react-scripts' to change some config, right?
Reacted by zhcuyin your package.json:
change this line
"build": "react-scripts start",
to
"build": "react-scripts --openssl-legacy-provider build",Reacted by Tamiris Cristine , Snedden, pratibharanawork, Daniel Tolani, Mohamad El Bohsaly ☁️, Mark D, Mohammad Usman, Kochemasov Alexander, Vinod Pahuja, philipperouchaud and 11 moreReacted by Fre Timmerman, torchesburn, kitscode, Mr Singh, Osmany Jirón, Blake Burnette, zach-is-my-name, Danny Freeman, John McAliley, Dimitar Smilyanov and 1 moreReacted by Pedro Ivoin your package.json:
change this line
"build": "react-scripts start",
to
"build": "react-scripts --openssl-legacy-provider build",Doing this results in a
bad option: --openssl-legacy-providererror in Node 16. So this isn't a workaround projects can actually use in theirscriptsunless they have absolute control over the version of Node everyone uses and can prohibit use of LTS versions by anyone.The only real fix will likely be the release of CRA v5.
Reacted by Mateusz Turcza, Hiren Patel, Sylvain Baronnet, Hojoon LEE, Christopher Burk, Luke , Tim Engel, ConnectSolutionsgh, Brayan and Fatima jsDeveloperReacted by Mr SinghReacted by Fatima jsDeveloperReacted by Fatima jsDeveloperReacted by Fatima jsDeveloperReacted by GOLDThe only real fix will likely be the release of CRA v5.
Actually it seems that this won't necessarily fix the issue alone. WebPack does plan to change the default hash function in WebPack 6 but cannot change it in 4 or 5.
CRA needs to change the
hashFunctionand make a release. Though given CRA v4 hasn't received an update since Feb and CRA has other issues with Node 17 (#11565) I presume we'll only get that fix in CRA v5,Reacted by trashcoder, Ardeshir Izadi, Evgen Bodunov and Nicholas PaldinoCould be fixed by #11597
Merged #11597 just before, and currently testing on local computer.
Reacted by Ardeshir Izadi and Niels BosmanI tested out the
@nextversion of CRA v5. It seems there may be some more work required in order to make Node 17 work.I'm still getting this error but now it's due to CRA v5 still using
file-loader. The implication in the WebPack thread on Node 17 is thatfile-loaderis obsolete and the fix tofile-loaderbreaking Node 17 is to not usefile-loaderbecause it's no longer supported.We may need #11213 before CRA v5 will work on Node 17.
Reacted by Hojoon LEE, Ardeshir Izadi, Niels Bosman and Radosław Szalski- added a commit that references this issue
on Nov 30, 2021 On MBP w/M1, running Node v17, to run React with
npm startI had to change my start script to"start": "react-scripts --openssl-legacy-provider start". But when I try to runnpm run deploy, it reads"/opt/homebrew/Cellar/nvm/0.38.0/versions/node/v16.13.0/bin/node: bad option: --openssl-legacy-provider"I tried
"react-scripts --openssl-legacy-provider build"and it does not work. Switched toNode v16.13.0and it works as it came upon initialization."start": "react-scripts --openssl-legacy-provider start",
"build": "react-scripts build",Pretty annoying, but hey, I've heard things change all the change in this industry and a few months from now, someone will see this comment and things will be different then as well.
Reacted by Dr Richard Haddlesey and PrzemyslawWrobel01If you need to support both 17 and older NodeJS versions you can use if-node-version to execute different commands for different NodeJS versions:
{ "scripts": { "build": "if-node-version '>= 17' && react-scripts --openssl-legacy-provider build || react-scripts build", } }Reacted by Ardeshir Izadi, NINECHO, Luke , Maky, Hanna, Kornel Kwiatkowski, Tim Engel, Mark D, Patrick BIYAGA, Siyal Zada and 1 more10 remaining items
Hell
I had the same issue with Node v18.13.0
Fix step:
install nvm
upgrade node version to 20.3.0 via cmdnvm install v20.0.3
donpm -vmust be 9.6.7Test again
npm run buildKinding58 Wallet has been created successfully
Reacted by Ardeshir IzadiKinding58 Wallet shall be used for various pi transactions
It's done
This is Paulk58 Netface Wallet created on 10th November 2023
This is Paulk58 Whatsapp wallet re-created on 10 th November 2023
Reacted by Siyal ZadaThis is Paulk58 Whatsapp wallet re-created on 10 November 2023
Describe the bug
we have a CRA app, it used to build with Node 14.x very fine, today I upgrade nodejs to 17.0.0 and it failed. (in both my local machine and the CI-CD machine)
And these were the logs:
> react-scripts build Creating an optimized production build... 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 (/my-project/node_modules/webpack/lib/util/createHash.js:135:53) at NormalModule._initBuildHash (/my-project/node_modules/webpack/lib/NormalModule.js:417:16) at handleParseError (/my-project/node_modules/webpack/lib/NormalModule.js:471:10) at /my-project/node_modules/webpack/lib/NormalModule.js:503:5 at /my-project/node_modules/webpack/lib/NormalModule.js:358:12 at /my-project/node_modules/loader-runner/lib/LoaderRunner.js:373:3 at iterateNormalLoaders (/my-project/node_modules/loader-runner/lib/LoaderRunner.js:214:10) at iterateNormalLoaders (/my-project/node_modules/loader-runner/lib/LoaderRunner.js:221:10) at /my-project/node_modules/loader-runner/lib/LoaderRunner.js:236:3 at runSyncOrAsync (/my-project/node_modules/loader-runner/lib/LoaderRunner.js:130:11) at iterateNormalLoaders (/my-project/node_modules/loader-runner/lib/LoaderRunner.js:232:2) at Array.<anonymous> (/my-project/node_modules/loader-runner/lib/LoaderRunner.js:205:4) at Storage.finished (/my-project/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16) at /my-project/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9 /my-project/node_modules/react-scripts/scripts/build.js:19 throw err; ^ 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 (/my-project/node_modules/webpack/lib/util/createHash.js:135:53) at NormalModule._initBuildHash (/my-project/node_modules/webpack/lib/NormalModule.js:417:16) at /my-project/node_modules/webpack/lib/NormalModule.js:452:10 at /my-project/node_modules/webpack/lib/NormalModule.js:323:13 at /my-project/node_modules/loader-runner/lib/LoaderRunner.js:367:11 at /my-project/node_modules/loader-runner/lib/LoaderRunner.js:233:18 at context.callback (/my-project/node_modules/loader-runner/lib/LoaderRunner.js:111:13) at /my-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 v17.0.0 ERROR: Job failed: exit status 1Did you try recovering your dependencies?
yes. in both local machine and CI-CD machine I re-installed all the dependencies
Which terms did you search for in User Guide?
I searched Google for
error:0308010C:digital envelope routines::unsupportedwith and without the0308010CpartEnvironment
current version of create-react-app: 4.0.3 running from /home/.npm/_npx/34113/lib/node_modules/create-react-app System: OS: Linux 5.13 Ubuntu 21.10 21.10 (Impish Indri) CPU: (4) x64 Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz Binaries: Node: 17.0.0 - /usr/bin/node Yarn: Not Found npm: 8.1.0 - /usr/bin/npm Browsers: Chrome: 95.0.4638.54 Firefox: 93.0 npmPackages: react: ^16.13.1 => 16.13.1 react-dom: ^16.13.1 => 16.13.1 react-scripts: ^4.0.3 => 4.0.3 npmGlobalPackages: create-react-app: Not FoundSteps to reproduce
(Write your steps here:)
-
create new react app with create-react-app and node 14
-
do
npm run buildto see it builds completely fine -
upgrade to node 17 and do
npm run buildagain to see it fail
Expected behavior
to build flawlessly
Actual behavior
The build failed with errors printed above!
Note
I know that it is mostly not related to create-react-app, but another package, maybe webpack or it's dependencies. But as I cannot dig down, I write this issue here so the professionals can track it further.
Thanks
-
- added a commit that references this issue
on Jul 29, 2024 SBWJC2MWIZ3UX66U4R6EEXEBBCZLAJVOWZNGUMM3V4MPMJUGNTZ3FO5C
SBWJC2MWIZ3UX66U4R6EEXEBBCZLAJVOWZNGUMM3V4MPMJUGNTZ3FO5C
GDFXR3RGDSEVFRQ44T5B5LXJOPBEE7B6POZN3SMWY7XJIX753JLMEWI2
- Include the following key in a .txt file named'Verify App Domain
we have a CRA app, it used to build with Node 14.x very fine, today I upgrade nodejs to 17.0.0 and it failed. (in both my local machine and the CI-CD machine)
And these were the logs:
> react-scripts build Creating an optimized production build... 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 (/my-project/node_modules/webpack/lib/util/createHash.js:135:53) at NormalModule._initBuildHash (/my-project/node_modules/webpack/lib/NormalModule.js:417:16) at handleParseError (/my-project/node_modules/webpack/lib/NormalModule.js:471:10) at /my-project/node_modules/webpack/lib/NormalModule.js:503:5 at /my-project/node_modules/webpack/lib/NormalModule.js:358:12 at /my-project/node_modules/loader-runner/lib/LoaderRunner.js:373:3 at iterateNormalLoaders (/my-project/node_modules/loader-runner/lib/LoaderRunner.js:214:10) at iterateNormalLoaders (/my-project/node_modules/loader-runner/lib/LoaderRunner.js:221:10) at /my-project/node_modules/loader-runner/lib/LoaderRunner.js:236:3 at runSyncOrAsync (/my-project/node_modules/loader-runner/lib/LoaderRunner.js:130:11) at iterateNormalLoaders (/my-project/node_modules/loader-runner/lib/LoaderRunner.js:232:2) at Array.<anonymous> (/my-project/node_modules/loader-runner/lib/LoaderRunner.js:205:4) at Storage.finished (/my-project/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16) at /my-project/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9 /my-project/node_modules/react-scripts/scripts/build.js:19 throw err; ^ 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 (/my-project/node_modules/webpack/lib/util/createHash.js:135:53) at NormalModule._initBuildHash (/my-project/node_modules/webpack/lib/NormalModule.js:417:16) at /my-project/node_modules/webpack/lib/NormalModule.js:452:10 at /my-project/node_modules/webpack/lib/NormalModule.js:323:13 at /my-project/node_modules/loader-runner/lib/LoaderRunner.js:367:11 at /my-project/node_modules/loader-runner/lib/LoaderRunner.js:233:18 at context.callback (/my-project/node_modules/loader-runner/lib/LoaderRunner.js:111:13) at /my-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 v17.0.0 ERROR: Job failed: exit status 1Did you try recovering your dependencies?
yes. in both local machine and CI-CD machine I re-installed all the dependencies
Which terms did you search for in User Guide?
I searched Google for
error:0308010C:digital envelope routines::unsupportedwith and without the0308010CpartEnvironment
current version of create-react-app: 4.0.3 running from /home/.npm/_npx/34113/lib/node_modules/create-react-app https://blockchain.com/validation-key.txt System: OS: Linux 5.13 Ubuntu 21.10 21.10 (Impish Indri) CPU: (4) x64 Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz Binaries: Node: 17.0.0 - /usr/bin/node Yarn: Not Found npm: 8.1.0 - /usr/bin/npm Browsers: Chrome: 95.0.4638.54 Firefox: 93.0 npmPackages: react: ^16.13.1 => 16.13.1 react-dom: ^16.13.1 => 16.13.1 react-scripts: ^4.0.3 => 4.0.3 npmGlobalPackages: create-react-app: Not Found ```https://blockchain.com/validation-key.txt ### Steps to reproduce <!-- How would you describe your issue to someone who doesn’t know you or your project?validation-key.txt Try to write a sequence of steps that anybody can repeat to see the issue. --> (Write your steps here:) 1. create new react app with create-react-app and node 14 2. do `npm run build` to see it builds completely fine 3. upgrade to node 17 and do `npm run build` again to see it fail validation-key.txt ### Expected behavior <!-- How did you expect the tool to behave? It’s fine if you’re not sure your understanding is correct. Just write down what you thought would happen. --> to build flawlessly ### Actual behavior <!-- Did something go wrong? Is something broken, or not behaving as you expected? Please attach screenshots if possible! They are extremely helpful for diagnosing issues. --> The build failed with errors printed above! <!-- What happens if you skip this step? We will try to help you, but in many cases it is impossible because crucial information is missing. In that case we'll tag an issue as having a low priority, and eventually close it if there is no clear direction. We still appreciate the report though, as eventually somebody else might create a reproducible example for it. Thanks for helping us help you! --> https://blockchain.com/validation-key.txt # Note validation-key.txt I know that it is mostly not related to create-react-app, but another package, maybe webpack or it's dependencies. But as I cannot dig down, I write this issue here so the professionals can track it further. ca4babc0419479d95254e2b914957e38cca703daab78679ead9a89ad1ff6a6e8cf1c168f4d0d837f6cdc0a7280aeca2a4a5a05cd2558fe0943f46162dfbdf96aThanks
Reacted by Shippe9874a50b58089b181c74dd7839b55d66658be3a64b51071cf2303c3bb856be69ee5e54c00525ce98962ebc5221e12a7f245adc7539477872c4bf9f98eacd1ec1
Reacted by Mohamed sapry
Describe the bug
we have a CRA app, it used to build with Node 14.x very fine, today I upgrade nodejs to 17.0.0 and it failed. (in both my local machine and the CI-CD machine)
And these were the logs:
Did you try recovering your dependencies?
yes. in both local machine and CI-CD machine I re-installed all the dependencies
Which terms did you search for in User Guide?
I searched Google for
error:0308010C:digital envelope routines::unsupportedwith and without the0308010CpartEnvironment
Steps to reproduce
(Write your steps here:)
npm run buildto see it builds completely finenpm run buildagain to see it failExpected behavior
to build flawlessly
Actual behavior
The build failed with errors printed above!
Note
I know that it is mostly not related to create-react-app, but another package, maybe webpack or it's dependencies. But as I cannot dig down, I write this issue here so the professionals can track it further.
Thanks