package-build-stats icon indicating copy to clipboard operation
package-build-stats copied to clipboard

Nodejs 17: error:0308010C:digital envelope routines::unsupported

Open R1ZEN opened this issue 3 years ago • 0 comments

On a dev server with node.js 17, when you make a request:

curl 'http://localhost:3000/size?p=moment'

You get an error:

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 (/Users/otp/Projects/package-build-stats/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/Users/otp/Projects/package-build-stats/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/Users/otp/Projects/package-build-stats/node_modules/webpack/lib/NormalModule.js:471:10)
    at /Users/otp/Projects/package-build-stats/node_modules/webpack/lib/NormalModule.js:503:5
    at /Users/otp/Projects/package-build-stats/node_modules/webpack/lib/NormalModule.js:358:12
    at /Users/otp/Projects/package-build-stats/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/Users/otp/Projects/package-build-stats/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at Array.<anonymous> (/Users/otp/Projects/package-build-stats/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (/Users/otp/Projects/package-build-stats/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at /Users/otp/Projects/package-build-stats/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
    at /Users/otp/Projects/package-build-stats/node_modules/graceful-fs/graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)

Bug the same with https://github.com/webpack/webpack/issues/14532

Workaround:

NODE_OPTIONS=--openssl-legacy-provider npm run dev

To escape this issue in future, maybe need to lock node.js version in package.json or .nvmrc.

R1ZEN avatar Jan 20 '22 09:01 R1ZEN