hexo: Hexo deploy error

when I tried to deploy my blog it shows:

$ hexo g -d
(node:482144) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:482144) Warning: Accessing non-existent property 'column' of module exports inside circular dependency
(node:482144) Warning: Accessing non-existent property 'filename' of module exports inside circular dependency
(node:482144) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency
(node:482144) Warning: Accessing non-existent property 'column' of module exports inside circular dependency
(node:482144) Warning: Accessing non-existent property 'filename' of module exports inside circular dependency
INFO  Files loaded in 842 ms
INFO  0 files generated in 669 ms
INFO  Deploying: git
INFO  Clearing .deploy_git folder...
INFO  Copying files from public folder...
FATAL Something's wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html
TypeError [ERR_INVALID_ARG_TYPE]: The "mode" argument must be integer. Received an instance of Object
    at copyFile (fs.js:1890:10)
    at tryCatcher (/home/reverier/文档/Blog/node_modules/bluebird/js/release/util.js:16:23)
    at ret (eval at makeNodePromisifiedEval (/usr/lib/node_modules/hexo-cli/node_modules/bluebird/js/release/promisify.js:184:12), <anonymous>:13:39)
    at /home/reverier/文档/Blog/node_modules/hexo-fs/lib/fs.js:144:39
    at tryCatcher (/home/reverier/文档/Blog/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:547:31)
    at Promise._settlePromise (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:604:18)
    at Promise._settlePromise0 (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:649:10)
    at Promise._settlePromises (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:729:18)
    at Promise._fulfill (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:673:18)
    at Promise._resolveCallback (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:466:57)
    at Promise._settlePromiseFromHandler (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:559:17)
    at Promise._settlePromise (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:604:18)
    at Promise._settlePromise0 (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:649:10)
    at Promise._settlePromises (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:729:18)
    at Promise._fulfill (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:673:18)
    at Promise._resolveCallback (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:466:57)
    at Promise._settlePromiseFromHandler (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:559:17)
    at Promise._settlePromise (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:604:18)
    at Promise._settlePromise0 (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:649:10)
    at Promise._settlePromises (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:729:18)
    at Promise._fulfill (/home/reverier/文档/Blog/node_modules/bluebird/js/release/promise.js:673:18)

hexo s and hexo g both work well and generate properly.

How to solve this problem?

It may not be caused by themes, I tried three themes and they all have this problem.

the _config.yml of ny blog:

# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site
title: Reverier's Blog
subtitle: Hope, Marvel, Youth.
description: Hope, Marvel, Youth.
keywords: None
google-site-verification: <xxxx>
author: Reverier Xu
language: zh-CN
timezone: Asia/Shanghai

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: https://www.wootec.top
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:

# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:

# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0
render_drafts: true
post_asset_folder: false
relative_link: false
future: true

# Home page setting
# path: Root path for your blogs index page. (default = '')
# per_page: Posts displayed per page. (0 = disable pagination)
# order_by: Posts order. (Order by date descending by default)
index_generator:
  path: ""
  per_page: 7
  order_by: -date

# Category & Tag
default_category: uncategorized
category_map:
tag_map:

# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD
time_format: HH:mm:ss

# Pagination
## Set per_page to 0 to disable pagination
per_page: 10
pagination_dir: page

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: amazing
plugins:
  hexo-generate-feed
  #- hexo-generator-baidu-sitemap
  #- hexo-generator-sitemap

#baidusitemap:
#path: baidusitemap.xml
#sitemap:
#path: sitemap.xml
sitemap:
  path: sitemap.xml

search:
  path: search.xml
  field: post
  content: true
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repository: git@github.com:Reverier-Xu/Reverier-Xu.github.io.git
  branch: master

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 17 (5 by maintainers)

Commits related to this issue

Most upvoted comments

#4260

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:
package.json
{
  ...
  "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

@WinterSoHot It seems caused by hexo-fs. hexo-deployer-git depends on hexo-fs and hexo-fs@2.0.0 is incompatible with Node.js 14.

We are already released hexo-fs@2.0.1 that supports Node.js 14. Would you please re-install hexo-deployer-git?

I think, after re-install hexo d will work well.

@YoshinoriN Thank you.

Thanks. I have solved this problem by your advice.

@pwittchen @THE-NAMELESS-SPECTRE Did you update your hexo in package.json ?

// package.json
"dependencies": {
-    "hexo": "^4.2.0",
+    "hexo": "^4.2.1",

After that please update your package and check your hexo version like below.

$ npm update
$ hexo -v

hexo: 4.2.1
hexo-cli: 3.1.0
os: Windows_NT 10.0.18362 win32 x64
node: 14.2.0
v8: 8.1.307.31-node.33
uv: 1.37.0
zlib: 1.2.11
brotli: 1.0.7
ares: 1.16.0
modules: 83
nghttp2: 1.40.0
napi: 6
llhttp: 2.0.4
openssl: 1.1.1g
cldr: 36.1
icu: 66.1
tz: 2019c
unicode: 13.0

@Reverier-Xu @stephen-a2z @dumindu @pwittchen

We published v4.2.1. v4.2.1 has included fixed compatible with Node 14.

Thanks 😃

@stephen-a2z I tried exact v12.5.0. But this(hexojs/site) generates empty files with partial template block codes. Any idea how to avoid that?