Skip to content

Regression in Node 14 #4260

@curbengh

Description

@curbengh

Noticed this issue on my blog, Netlify doesn't upload any file after upgrading Node 14 (build log), and led to an empty site.

A working workaround is to downgrade; I downgraded to Node 12, my blog never had any issue with Node 13, so it looks like a Node 14 issue.

I can replicate this issue in hexojs/site#1395, site does become empty.


Replicated the issue in my workstation, with a dummy blog (default plugins only). /public folder has all the files, but they are all empty.

  • Install node_modules with Node 14, run Hexo with Node 14: ❌
  • Install node_modules with Node 13, run Hexo with Node 14: ❌
  • Install node_modules with Node 13, run Hexo with Node 13: ✅
  • Install node_modules with Node 14, run Hexo with Node 13: ✅

Node 13 is v13.13.0, Node 14 is v14.0.0

@hexojs/core


Tested packages:

hexo
hexo-fs
hexo-cli

warehouse
hexo-renderer-nunjucks
hexo-renderer-marked
hexo-util
hexo-generator-feed.


Edit (30 April 2020): fix released in hexo-util@2.0.0 and hexo-fs@3.0.0.

There are two options to temporarily fix compatibility issues with Node 14:

  1. Downgrade to Node 10 or 12. If you use .nvmrc as part of your CI workflow, you need to change the content to 10 or 12.
  2. If you prefer to use Node 14, force upgrade hexo-util and hexo-fs:
{
  ...
  "dependencies": {
    "hexo": "^4.0.0",
    "hexo-generator-archive": "^1.0.0",
    "hexo-generator-category": "^1.0.0",
    "hexo-generator-index": "^1.0.0",
    "hexo-generator-tag": "^1.0.0",
    "hexo-renderer-ejs": "^1.0.0",
    "hexo-renderer-stylus": "^1.1.0",
    "hexo-renderer-marked": "^2.0.0",
    "hexo-server": "^1.0.0",
+    "hexo-util": "^2.1.0",
+    "hexo-fs": "^3.0.1"
  }
}
$ rm -rf node_modules/
$ npm install

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions