0

After routine update of my server (Debian Sid) I am no longer able to start zero-ui development (actually I'm unable to start any nodejs development server):

zero@zdev:~/zero-ui$ ZU_CONTROLLER_TOKEN=whatever yarnpkg dev
[1] [nodemon] 2.0.15
[1] [nodemon] to restart at any time, enter `rs`
[1] [nodemon] watching path(s): *.*
[1] [nodemon] watching extensions: js,mjs,json
[1] [nodemon] starting `node ./bin/www`
[0] ℹ 「wds」: Project is running at http://192.168.7.122/
[0] ℹ 「wds」: webpack output is served from /app
[0] ℹ 「wds」: Content not from webpack is served from /home/zero/zero-ui/frontend/public
[0] ℹ 「wds」: 404s will fallback to /app/
[0] Starting the development server...
[0] 
[0] Error: error:0308010C:digital envelope routines::unsupported
[0]     at new Hash (node:internal/crypto/hash:67:19)
[0]     at Object.createHash (node:crypto:130:10)
[0]     at module.exports (/home/zero/zero-ui/node_modules/webpack/lib/util/createHash.js:135:53)
[0]     at NormalModule._initBuildHash (/home/zero/zero-ui/node_modules/webpack/lib/NormalModule.js:417:16)
[0]     at handleParseError (/home/zero/zero-ui/node_modules/webpack/lib/NormalModule.js:471:10)
[0]     at /home/zero/zero-ui/node_modules/webpack/lib/NormalModule.js:503:5
[0]     at /home/zero/zero-ui/node_modules/webpack/lib/NormalModule.js:358:12
[0]     at /home/zero/zero-ui/node_modules/loader-runner/lib/LoaderRunner.js:373:3
[0]     at iterateNormalLoaders (/home/zero/zero-ui/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
[0]     at iterateNormalLoaders (/home/zero/zero-ui/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
[0] /home/zero/zero-ui/node_modules/react-scripts/scripts/start.js:19
[0]   throw err;
[0]   ^
[0] 
[0] Error: error:0308010C:digital envelope routines::unsupported
[0]     at new Hash (node:internal/crypto/hash:67:19)
[0]     at Object.createHash (node:crypto:130:10)
[0]     at module.exports (/home/zero/zero-ui/node_modules/webpack/lib/util/createHash.js:135:53)
[0]     at NormalModule._initBuildHash (/home/zero/zero-ui/node_modules/webpack/lib/NormalModule.js:417:16)
[0]     at /home/zero/zero-ui/node_modules/webpack/lib/NormalModule.js:452:10
[0]     at /home/zero/zero-ui/node_modules/webpack/lib/NormalModule.js:323:13
[0]     at /home/zero/zero-ui/node_modules/loader-runner/lib/LoaderRunner.js:367:11
[0]     at /home/zero/zero-ui/node_modules/loader-runner/lib/LoaderRunner.js:233:18
[0]     at context.callback (/home/zero/zero-ui/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
[0]     at /home/zero/zero-ui/node_modules/react-scripts/node_modules/babel-loader/lib/index.js:59:103 {
[0]   opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
[0]   library: 'digital envelope routines',
[0]   reason: 'unsupported',
[0]   code: 'ERR_OSSL_EVP_UNSUPPORTED'
[0] }
[0] cd frontend && cross-env FAST_REFRESH=true yarn start exited with code 1

Note this does not seem to be the same problem I found discussed here and elsewhere on the internet (breaking change in node v16->v17) as I currently have:

zero@zdev:~/zero-ui$ node --version
v16.15.0

Note: I tried nonetheless adding NODE_OPTIONS=--openssl-legacy-provider to my options but this, rather unsurprisingly, does not work (/usr/bin/node: --openssl-legacy-provider is not allowed in NODE_OPTIONS which I take it means this option was added in v17 and is useless before the breaking change).

I strongly suspect some update in my debian sid is responsible, but I'm unable to understand which.

Note also this is specific to current Debian Sid: It is reproducible on a brand new install (using containers) and will not appear doing the exact same install on Debian Bookworm.

How can I overcome this? TiA!

ZioByte
  • 2,690
  • 1
  • 32
  • 68

1 Answers1

0

I have the sam problem. I've upgraded node.js to 17.7.2 and run into this error. Then upgraded to 18.4 and still got the error. Then using the legacy option - without success. Then downgraded node.js to 16.15.1, tried to up- and downgrade the webpack (4.46 => 5.63 => 4.46) but I got still the error. Even an uninstallation of node.js, removing all the cache folders and a brand new installation of node.js hadn't helped.

What I absolutely don't understand is, that the last line after the error message is "Node.js v17.7.2" which is definitely NOT on my system.

node:internal/crypto/hash:67
  this[kHandle] = new _Hash(algorithm, xofLen);
              ^

Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:135:10)
at module.exports (C:\Users\pauly\repos\sources\dev\nuxt\test-app\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (C:\Users\pauly\repos\sources\dev\nuxt\test-app\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (C:\Users\pauly\repos\sources\dev\nuxt\test-app\node_modules\webpack\lib\NormalModule.js:471:10)
at C:\Users\pauly\repos\sources\dev\nuxt\test-app\node_modules\webpack\lib\NormalModule.js:503:5
at C:\Users\pauly\repos\sources\dev\nuxt\test-app\node_modules\webpack\lib\NormalModule.js:358:12
at C:\Users\pauly\repos\sources\dev\nuxt\test-app\node_modules\webpack\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (C:\Users\pauly\repos\sources\dev\nuxt\test-app\node_modules\webpack\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at Array.<anonymous> (C:\Users\pauly\repos\sources\dev\nuxt\test-app\node_modules\webpack\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
at Storage.finished (C:\Users\pauly\repos\sources\dev\nuxt\test-app\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
at C:\Users\pauly\repos\sources\dev\nuxt\test-app\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
at C:\Users\pauly\repos\sources\dev\nuxt\test-app\node_modules\graceful-fs\graceful-fs.js:123:16
at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v17.7.2

This whole issue started with "npx create-nuxt-app", simply that - as I tried to create my nuxt application. What a mess.

Henry.K
  • 379
  • 3
  • 6
  • I found actually the answer in "https://stackoverflow.com/questions/71033802/error-error0308010cdigital-envelope-routinesunsupported-next-js" which has solved the problem. – Henry.K Jun 22 '22 at 13:52
  • First, install cross-env: npm install cross-env then, Just set this in scripts in package.json "dev": "cross-env NODE_OPTIONS='--openssl-legacy-provider' nuxt dev" – Henry.K Jun 22 '22 at 13:53