Skip to content

Building the blog on newer Node.js version fails #700

Description

@2color

What's the problem

With recent releases of Node.js, you get the following error:

➜  ipfs-blog git:(main) npm run start

> ipfs-blog@1.0.0 start
> npm run dev


> ipfs-blog@1.0.0 dev
> vuepress dev src

wait Extracting site metadata...
tip Apply local theme at /Users/danielnorman/dev/ipfs-blog/src/.vuepress/theme...
tip Apply theme local ...
tip Apply plugin container (i.e. "vuepress-plugin-container") ...
tip Apply plugin @vuepress/register-components (i.e. "@vuepress/plugin-register-components") ...
tip Apply plugin clean-urls (i.e. "vuepress-plugin-clean-urls") ...
tip Apply plugin vuepress-plugin- ...
tip Apply plugin vuepress-default-canonical ...
tip Apply plugin vuepress-plugin-trigger-scroll ...
tip Apply plugin @vuepress/blog (i.e. "@vuepress/plugin-blog") ...
tip Apply plugin sitemap (i.e. "vuepress-plugin-sitemap") ...
tip Apply plugin @vuepress/last-updated (i.e. "@vuepress/plugin-last-updated") ...
tip Apply plugin feed (i.e. "vuepress-plugin-feed") ...
tip Apply plugin seo (i.e. "vuepress-plugin-seo") ...
tip Apply plugin vuepress-plugin-og-image ...
tip Apply plugin robots (i.e. "vuepress-plugin-robots") ...
tip Apply plugin @vuepress/html-redirect (i.e. "@vuepress/plugin-html-redirect") ...
tip Apply plugin chunkload-redirect (i.e. "vuepress-plugin-chunkload-redirect") ...
(node:38508) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
warning Override existing page /weekly-136/.
success vuepress-plugin-feed rss2 link added to siteConfig.head

● Client █████████████████████████ compiling (0%)


ℹ 「wds」: Project is running at http://0.0.0.0:8081/
ℹ 「wds」: webpack output is served from /
ℹ 「wds」: Content not from webpack is served from /Users/danielnorman/dev/ipfs-blog/src/.vuepress/public
ℹ 「wds」: 404s will fallback to /index.html
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:79:19)
    at Object.createHash (node:crypto:139:10)
    at module.exports (/Users/danielnorman/dev/ipfs-blog/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/Users/danielnorman/dev/ipfs-blog/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/Users/danielnorman/dev/ipfs-blog/node_modules/webpack/lib/NormalModule.js:471:10)
    at /Users/danielnorman/dev/ipfs-blog/node_modules/webpack/lib/NormalModule.js:503:5
    at /Users/danielnorman/dev/ipfs-blog/node_modules/webpack/lib/NormalModule.js:358:12
    at /Users/danielnorman/dev/ipfs-blog/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/Users/danielnorman/dev/ipfs-blog/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/Users/danielnorman/dev/ipfs-blog/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /Users/danielnorman/dev/ipfs-blog/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at runSyncOrAsync (/Users/danielnorman/dev/ipfs-blog/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
    at iterateNormalLoaders (/Users/danielnorman/dev/ipfs-blog/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
    at Array.<anonymous> (/Users/danielnorman/dev/ipfs-blog/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (/Users/danielnorman/dev/ipfs-blog/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at /Users/danielnorman/dev/ipfs-blog/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
node:internal/crypto/hash:79
  this[kHandle] = new _Hash(algorithm, xofLen, algorithmId, getHashCache());
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:79:19)
    at Object.createHash (node:crypto:139:10)
    at module.exports (/Users/danielnorman/dev/ipfs-blog/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/Users/danielnorman/dev/ipfs-blog/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/Users/danielnorman/dev/ipfs-blog/node_modules/webpack/lib/NormalModule.js:471:10)
    at /Users/danielnorman/dev/ipfs-blog/node_modules/webpack/lib/NormalModule.js:503:5
    at /Users/danielnorman/dev/ipfs-blog/node_modules/webpack/lib/NormalModule.js:358:12
    at /Users/danielnorman/dev/ipfs-blog/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/Users/danielnorman/dev/ipfs-blog/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at Array.<anonymous> (/Users/danielnorman/dev/ipfs-blog/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (/Users/danielnorman/dev/ipfs-blog/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at /Users/danielnorman/dev/ipfs-blog/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
    at /Users/danielnorman/dev/ipfs-blog/node_modules/graceful-fs/graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read/context:68:3) {
  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 v22.6.0

Temporary workaround

Setting the following environment variable helps:

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugA bug in existing code (including security flaws)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions