因node.js版本过高而部署错误的问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$ hexo -v
(node:9876) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:9876) Warning: Accessing non-existent property 'column' of module exports inside circular dependency
(node:9876) Warning: Accessing non-existent property 'filename' of module exports inside circular dependency
(node:9876) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency
(node:9876) Warning: Accessing non-existent property 'column' of module exports inside circular dependency
(node:9876) Warning: Accessing non-existent property 'filename' of module exports inside circular dependency
hexo: 4.2.0
hexo-cli: 3.1.0
os: Windows_NT 10.0.18363 win32 x64
node: 14.1.0
v8: 8.1.307.30-node.30
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.1f
cldr: 36.1
icu: 66.1
tz: 2019c
unicode: 13.0

在用hexo建站的过程中,你是否看到了上面的代码?还有下面的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
$ hexo d -g
(node:3908) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:3908) Warning: Accessing non-existent property 'column' of module exports inside circular dependency
(node:3908) Warning: Accessing non-existent property 'filename' of module exports inside circular dependency
(node:3908) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency
(node:3908) Warning: Accessing non-existent property 'column' of module exports inside circular dependency
(node:3908) Warning: Accessing non-existent property 'filename' of module exports inside circular dependency
INFO Start processing
INFO Files loaded in 94 ms
INFO 0 files generated in 22 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 (D:\Blog\node_modules\bluebird\js\release\util.js:16:23)
at ret (eval at makeNodePromisifiedEval (D:\Node\node_global\node_modules\hexo-cli\node_modules\bluebird\js\release\promisify.js:184:12), <anonymous>:13:39)
at D:\Blog\node_modules\hexo-fs\lib\fs.js:144:39
at tryCatcher (D:\Blog\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (D:\Blog\node_modules\bluebird\js\release\promise.js:547:31)
at Promise._settlePromise (D:\Blog\node_modules\bluebird\js\release\promise.js:604:18)
at Promise._settlePromise0 (D:\Blog\node_modules\bluebird\js\release\promise.js:649:10)
at Promise._settlePromises (D:\Blog\node_modules\bluebird\js\release\promise.js:729:18)
at Promise._fulfill (D:\Blog\node_modules\bluebird\js\release\promise.js:673:18)
at Promise._resolveCallback (D:\Blog\node_modules\bluebird\js\release\promise.js:466:57)
at Promise._settlePromiseFromHandler (D:\Blog\node_modules\bluebird\js\release\promise.js:559:17)
at Promise._settlePromise (D:\Blog\node_modules\bluebird\js\release\promise.js:604:18)
at Promise._settlePromise0 (D:\Blog\node_modules\bluebird\js\release\promise.js:649:10)
at Promise._settlePromises (D:\Blog\node_modules\bluebird\js\release\promise.js:729:18)
at Promise._fulfill (D:\Blog\node_modules\bluebird\js\release\promise.js:673:18)
at Promise._resolveCallback (D:\Blog\node_modules\bluebird\js\release\promise.js:466:57)
at Promise._settlePromiseFromHandler (D:\Blog\node_modules\bluebird\js\release\promise.js:559:17)
at Promise._settlePromise (D:\Blog\node_modules\bluebird\js\release\promise.js:604:18)
at Promise._settlePromise0 (D:\Blog\node_modules\bluebird\js\release\promise.js:649:10)
at Promise._settlePromises (D:\Blog\node_modules\bluebird\js\release\promise.js:729:18)
at Promise._fulfill (D:\Blog\node_modules\bluebird\js\release\promise.js:673:18)

在执行 hexo s 后,在localhost:4000中也能看到页面,但是在执行 hexo d 后,页面一直404.。。

在我查找原因的时候,知乎网友 @不秃头的小可爱 的一篇文章使我看到了曙光,原因是我安装的node版本过高,果断卸载后重装了node.js 12.14版本,问题解决。感谢大佬!