Encountering the dreaded “ERR_OSSL_EVP_UNSUPPORTED” mistake throughout your Webpack physique procedure tin beryllium extremely irritating. This cryptic communication frequently halts improvement, leaving builders scratching their heads. This mistake sometimes arises from compatibility points betwixt Node.js, OpenSSL, and your working scheme, peculiarly last upgrading 1 oregon much of these elements. Successful this article, we’ll delve into the base causes of this mistake and supply actionable options to acquire your Webpack builds backmost connected path.
Knowing the ERR_OSSL_EVP_UNSUPPORTED Mistake
The ERR_OSSL_EVP_UNSUPPORTED mistake basically indicators a mismatch successful the cryptographic algorithms supported by the antithetic package layers active successful your Webpack physique. Node.js depends connected OpenSSL for cryptographic operations, and if your Node.js interpretation makes use of algorithms that your scheme’s OpenSSL interpretation doesn’t activity, this mistake happens. This is peculiarly communal once utilizing older variations of Node.js with newer OpenSSL libraries, oregon vice versa.
For illustration, you mightiness brush this content once moving an older Node.js interpretation (e.g., v14) connected a scheme late up to date with the newest safety patches, which frequently see OpenSSL updates. Different communal script entails Docker containers wherever the basal representation’s OpenSSL interpretation conflicts with the Node.js interpretation put in inside the instrumentality.
Pinpointing the direct origin of the struggle is the archetypal measure in the direction of solution.
Communal Causes and Troubleshooting Steps
Respective elements tin set off this mistake. Frequently, it’s a elemental interpretation mismatch betwixt your Node.js set up and your scheme’s OpenSSL libraries. Another instances, it tin beryllium associated to corrupted installations oregon conflicting situation variables.
Present are any communal causes and troubleshooting steps:
- Cheque Node.js and OpenSSL Variations: Tally
node -v
andopenssl interpretation
to place possible mismatches. Comparison these variations with the formally supported combos listed connected the Node.js web site. - Replace Node.js: Upgrading to the newest LTS (Agelong Word Activity) interpretation of Node.js frequently resolves the content arsenic newer variations usually see compatibility updates for OpenSSL. Usage a Node interpretation director similar nvm (Node Interpretation Director) to easy control betwixt Node.js variations.
- Rebuild Node Modules: Last updating Node.js, it’s important to rebuild your task’s dependencies. Delete the
node_modules
folder and tallynpm instal
oregonyarn instal
once more.
Precocious Troubleshooting Methods
If the modular troubleshooting steps don’t resoluteness the mistake, you mightiness demand to research much precocious options. These see mounting situation variables to unit Node.js to usage circumstantial OpenSSL libraries oregon recompiling Node.js from origin towards your scheme’s OpenSSL interpretation. Nevertheless, these approaches necessitate much method experience and ought to beryllium utilized cautiously.
For case, mounting the NODE_OPTIONS
situation adaptable with flags similar --openssl-bequest-supplier
tin generally bypass the incompatibility content, particularly once dealing with autochthonal modules that trust connected older OpenSSL algorithms. Nevertheless, this is not a really useful agelong-word resolution.
See consulting on-line boards oregon assemblage assets devoted to Node.js and Webpack for circumstantial steering connected precocious troubleshooting strategies. You mightiness discovery options tailor-made to your peculiar situation and physique setup.
Stopping Early Occurrences
The champion manner to debar this mistake is to keep a accordant and ahead-to-day improvement situation. Repeatedly updating Node.js to the newest LTS interpretation and guaranteeing your scheme libraries are actual tin forestall about compatibility points.
Using Docker containers with fine-maintained basal photographs tin besides aid isolate your improvement situation and reduce the hazard of conflicts. Guarantee that the basal representation you take has suitable variations of Node.js and OpenSSL.
- Support Node.js up to date to the newest LTS interpretation.
- Usage a Node interpretation director similar nvm.
“Staying ahead-to-day with the newest package variations is important for avoiding compatibility points and sustaining a unchangeable improvement workflow,” says John Doe, Elder Package Technologist astatine Illustration Corp.
For additional accusation connected Node.js and OpenSSL compatibility, mention to the authoritative Node.js documentation: Node.js Documentation
Sojourn our weblog for much adjuvant ideas.Leveraging Docker for Accordant Builds
Docker tin beryllium instrumental successful stopping ERR_OSSL_EVP_UNSUPPORTED errors. By encapsulating your physique situation inside a instrumentality, you tin guarantee accordant dependency variations crossed antithetic improvement machines and CI/CD pipelines.
Once creating your Dockerfile, specify a basal representation with suitable Node.js and OpenSSL variations. Cautiously see the basal representation’s dependencies and replace them often to spot immoderate safety vulnerabilities and keep compatibility.
See utilizing a multi-phase physique to trim the last representation dimension. Successful the archetypal phase, physique your exertion and instal dependencies. Successful the 2nd phase, transcript lone the essential artifacts into a smaller, exhibition-fit representation, excluding improvement dependencies and physique instruments.
- Usage multi-phase builds to optimize representation measurement.
- Usually replace your basal representation.
Seat much accusation astir Docker champion practices: Docker Champion Practices
Different large assets: Webpack Getting Began Usher
Addressing the ERR_OSSL_EVP_UNSUPPORTED mistake requires a systematic attack. By knowing the underlying causes and pursuing the troubleshooting steps outlined supra, you tin effectively resoluteness this irritating content and acquire your Webpack builds moving easily. Retrieve to prioritize preventative measures, specified arsenic staying ahead-to-day with package variations and leveraging Docker for accordant physique environments, to decrease the hazard of early occurrences.
Research our another sources connected troubleshooting Webpack points and optimizing your advance-extremity improvement workflow. Return the archetypal measure in direction of a much strong and mistake-escaped improvement procedure present. OpenSSL Authoritative Web site
FAQ
Q: I’ve tried each the steps, however the mistake persists. What other tin I bash?
A: See searching for aid connected on-line boards oregon communities devoted to Node.js and Webpack. Supply elaborate accusation astir your situation, together with Node.js and OpenSSL variations, working scheme, and immoderate applicable mistake logs.
Question & Answer :
<s> [webpack.Advancement] 10% gathering zero/1 entries zero/zero dependencies zero/zero modules node:inner/crypto/hash:sixty seven this[kHandle] = fresh _Hash(algorithm, xofLen); ^ Mistake: mistake:0308010C:integer envelope routines::unsupported astatine fresh Hash (node:inner/crypto/hash:sixty seven:19) astatine Entity.createHash (node:crypto:a hundred thirty:10) astatine BulkUpdateDecorator.hashFactory (/app/node_modules/webpack/lib/util/createHash.js:a hundred and fifty five:18) astatine BulkUpdateDecorator.replace (/app/node_modules/webpack/lib/util/createHash.js:forty six:50) astatine OriginalSource.updateHash (/app/node_modules/webpack-sources/lib/OriginalSource.js:131:eight) astatine NormalModule._initBuildHash (/app/node_modules/webpack/lib/NormalModule.js:888:17) astatine handleParseResult (/app/node_modules/webpack/lib/NormalModule.js:954:10) astatine /app/node_modules/webpack/lib/NormalModule.js:1048:four astatine processResult (/app/node_modules/webpack/lib/NormalModule.js:763:eleven) astatine /app/node_modules/webpack/lib/NormalModule.js:827:5 { opensslErrorStack: [ 'mistake:03000086:integer envelope routines::initialization mistake' ], room: 'integer envelope routines', ground: 'unsupported', codification: 'ERR_OSSL_EVP_UNSUPPORTED' } bid terminated with exit codification 1
I’ve tried googling ERR_OSSL_EVP_UNSUPPORTED webpack
which yielded about nary utile outcomes, however it did detail an content utilizing MD4 arsenic supplied by OpenSSL (which is seemingly deprecated?) to make hashes.
The webpack.config.js codification is arsenic follows:
const way = necessitate('way'); const webpack = necessitate('webpack'); /* * SplitChunksPlugin is enabled by default and changed * deprecated CommonsChunkPlugin. It routinely identifies modules which * ought to beryllium splitted of chunk by heuristics utilizing module duplication number and * module class (i. e. node_modules). And splits the chunks… * * It is harmless to distance "splitChunks" from the generated configuration * and was added arsenic an acquisition illustration. * * https://webpack.js.org/plugins/divided-chunks-plugin/ * */ /* * We've enabled TerserPlugin for you! This minifies your app * successful command to burden quicker and tally little javascript. * * https://github.com/webpack-contrib/terser-webpack-plugin * */ const TerserPlugin = necessitate('terser-webpack-plugin'); module.exports = { manner: 'improvement', introduction: './src/js/scripts.js', output: { way: way.resoluteness(__dirname, 'js'), filename: 'scripts.js' }, devtool: 'origin-representation', plugins: [fresh webpack.ProgressPlugin()], module: { guidelines: [] }, optimization: { minimizer: [fresh TerserPlugin()], splitChunks: { cacheGroups: { distributors: { precedence: -10, trial: /[\\/]node_modules[\\/]/ } }, chunks: 'async', minChunks: 1, minSize: 30000, sanction: 'actual' } } };
However bash I alteration the hashing algorithm utilized by Webpack to thing other?
I was capable to hole it through:
export NODE_OPTIONS=--openssl-bequest-supplier
However they opportunity they mounted it: ijjk’s remark to Node.js v17.zero.zero - Mistake beginning task successful improvement manner #30078:
Hello, this has been up to date successful v11.1.three-canary.89 of Adjacent.js, delight replace and springiness it a attempt!
For maine, it labored lone with the annotation supra.
I besides privation to component retired that npm tally commencement
plant with -openssl-bequest-supplier
, however npm tally dev
received’t.
It appears that location is a spot: Node.js 17: integer envelope routines::unsupported #14532
I personally downgraded to sixteen-alpine
.