Skip to content

ERR_OSSL_EVP_UNSUPPORTED Node 17 #577

@Raphtor

Description

@Raphtor

(Repost from google#350)

The current install docs say to install node.js using nvm:

nvm install stable

However, as of the current stable version is 17.0.1, which introduces some changes in SSL. This results in errors while building:

>> npm run dev-server

> [email protected] dev-server
> webpack-dev-server --config ./config/webpack.config.js

Skipping "*" -> ["*"]
{
  neuroglancer: '/home/ec2-user/neuvue-app/django/static/ts/neuroglancer/src/neuroglancer'
}
(node:29308) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
(Use `node --trace-deprecation ...` to show where the warning was created)
ℹ 「wds」: Project is running at http://localhost:8080/
ℹ 「wds」: webpack output is served from /
(node:29308) DeprecationWarning: Resolver: The callback argument was splitted into resolveContext and callback.
(node:29308) DeprecationWarning: Resolver#doResolve: The type arguments (string) is now a hook argument (Hook). Pass a reference to the hook instead.
ts-loader: Using /home/ec2-user/neuvue-app/django/static/ts/neuroglancer/config/[email protected]. This version may or may not be compatible with ts-loader.
ts-loader: Using /home/ec2-user/neuvue-app/django/static/ts/neuroglancer/config/[email protected]. This version may or may not be compatible with ts-loader.
ts-loader: Using /home/ec2-user/neuvue-app/django/static/ts/neuroglancer/config/[email protected]. This version may or may not be compatible with ts-loader.
(node:29308) DeprecationWarning: loaderUtils.parseQuery() received a non-string value which can be problematic, see https://github.com/webpack/loader-utils/issues/56
parseQuery() will be replaced with getOptions() in the next major version of loader-utils.
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:130:10)
    at module.exports (/home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/webpack/lib/util/createHash.js:90:53)
    at getHash (/home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/webpack/lib/ModuleFilenameHelpers.js:45:15)
    at Object.ModuleFilenameHelpers.createFilename (/home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/webpack/lib/ModuleFilenameHelpers.js:81:10)
    at /home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/webpack/lib/SourceMapDevToolPlugin.js:149:33
    at Array.forEach (<anonymous>)
    at /home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/webpack/lib/SourceMapDevToolPlugin.js:130:12
    at SyncHook.eval [as call] (eval at create (/home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:7:1)
    at SyncHook.lazyCompileHook (/home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/tapable/lib/Hook.js:154:20)
    at /home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/webpack/lib/Compilation.js:1315:42
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:6:1)
    at AsyncSeriesHook.lazyCompileHook (/home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/tapable/lib/Hook.js:154:20)
    at /home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/webpack/lib/Compilation.js:1311:36
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:6:1)
    at AsyncSeriesHook.lazyCompileHook (/home/ec2-user/neuvue-app/django/static/ts/neuroglancer/node_modules/tapable/lib/Hook.js:154:20) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v17.0.1

Using the LTS version (nvm install --lts) fixes this issue. A simple solution would be to update the documentation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions