etesync / etesync-web

An EteSync web client
https://www.etesync.com
GNU Affero General Public License v3.0
243 stars 30 forks source link

yarn build fails with "error:0308010C:digital envelope routines::unsupported" #275

Open Xiretza opened 2 months ago

Xiretza commented 2 months ago
$ yarn
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > @material-ui/pickers@3.2.10" has unmet peer dependency "@date-io/core@^1.3.6".
warning " > @material-ui/pickers@3.2.10" has unmet peer dependency "prop-types@^15.6.0".
warning " > @testing-library/user-event@7.2.1" has unmet peer dependency "@testing-library/dom@>=5".
[4/4] Building fresh packages...
Done in 1.91s.
$ yarn build
yarn run v1.22.22
$ react-scripts build
Creating an optimized production build...
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:80:19)
    at Object.createHash (node:crypto:139:10)
    at module.exports (/home/xiretza/dev/etebase/etesync-web/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/home/xiretza/dev/etebase/etesync-web/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/home/xiretza/dev/etebase/etesync-web/node_modules/webpack/lib/NormalModule.js:471:10)
    at /home/xiretza/dev/etebase/etesync-web/node_modules/webpack/lib/NormalModule.js:503:5
    at /home/xiretza/dev/etebase/etesync-web/node_modules/webpack/lib/NormalModule.js:358:12
    at /home/xiretza/dev/etebase/etesync-web/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/home/xiretza/dev/etebase/etesync-web/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/home/xiretza/dev/etebase/etesync-web/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
/home/xiretza/dev/etebase/etesync-web/node_modules/react-scripts/scripts/build.js:19
  throw err;
  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:80:19)
    at Object.createHash (node:crypto:139:10)
    at module.exports (/home/xiretza/dev/etebase/etesync-web/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/home/xiretza/dev/etebase/etesync-web/node_modules/webpack/lib/NormalModule.js:417:16)
    at /home/xiretza/dev/etebase/etesync-web/node_modules/webpack/lib/NormalModule.js:452:10
    at /home/xiretza/dev/etebase/etesync-web/node_modules/webpack/lib/NormalModule.js:323:13
    at /home/xiretza/dev/etebase/etesync-web/node_modules/loader-runner/lib/LoaderRunner.js:367:11
    at /home/xiretza/dev/etebase/etesync-web/node_modules/loader-runner/lib/LoaderRunner.js:233:18
    at context.callback (/home/xiretza/dev/etebase/etesync-web/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
    at /home/xiretza/dev/etebase/etesync-web/node_modules/react-scripts/node_modules/babel-loader/lib/index.js:59:103 {
  opensslErrorStack: [
    'error:03000086:digital envelope routines::initialization error',
    'error:0308010C:digital envelope routines::unsupported'
  ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v21.7.3
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
wbevans commented 1 month ago

You can get it to build by setting this environment variable:

export NODE_OPTIONS=--openssl-legacy-provider
tasn commented 1 month ago

I think they fixed it in more recent node versions (at least in Arch, I no longer need this workaround), but yeah exactly what @wbevans said!

tasn commented 1 month ago

(closing this ticket, as it's an issue with node, and not etesync specific)

wbevans commented 1 month ago

Still get this error without setting the env variable on latest Arch. Node version 22.3.0

tasn commented 1 month ago

Oh sorry, it's the uring one that I stopped getting, I'm still getting this one. You're right.

meaz commented 3 weeks ago

I get that error even when I set the env variable on Debian Bookworm, node v20.5.1

meaz commented 3 weeks ago

Nevermind, it works... Sorry for noise!