前言

时隔三年,再一次写了一篇文章(水一篇),以及很久没有玩Hexo了,虽然偶尔会更新一下Butterfly主题版本,但是以及五年没有更新HexoNodejs版本了,今天尝试更新一下,解决一下遇到的问题。(虽然没遇到什么问题)

先说一下我目前的版本:

  • Hexo 6.3.0
  • Nodejs 20.14.0

有点低了,但是能用,还是更新吧!

更新Hexo及相关依赖

1.使用cd命令进入博客根目录

1
2
# 检查插件更新(运行后可以检查Hexo和插件的最新版本)
npm outdated

运行完成之后会显示博客插件当前版本和最新版本

1
2
3
4
5
6
7
8
9
10
11
12
13
Package                    Current  Wanted  Latest  Location                                Depended by
gulp 4.0.2 4.0.2 5.0.1 node_modules/gulp zykjblog
gulp-html-minifier-terser 6.0.1 6.0.1 8.0.0 node_modules/gulp-html-minifier-terser zykjblog
hexo 6.3.0 6.3.0 8.1.2 node_modules/hexo zykjblog
hexo-bilibili-bangumi 1.11.1 1.11.1 2.1.7 node_modules/hexo-bilibili-bangumi zykjblog
hexo-deployer-git 3.0.0 3.0.0 4.0.0 node_modules/hexo-deployer-git zykjblog
hexo-generator-archive 1.0.0 1.0.0 2.0.0 node_modules/hexo-generator-archive zykjblog
hexo-generator-category 1.0.0 1.0.0 2.0.0 node_modules/hexo-generator-category zykjblog
hexo-generator-feed 3.0.0 3.0.0 4.0.0 node_modules/hexo-generator-feed zykjblog
hexo-generator-tag 1.0.0 1.0.0 2.0.0 node_modules/hexo-generator-tag zykjblog
hexo-renderer-marked 5.0.0 5.0.0 7.0.1 node_modules/hexo-renderer-marked zykjblog
hexo-renderer-stylus 2.1.0 2.1.0 3.0.1 node_modules/hexo-renderer-stylus zykjblog
workbox-build 6.6.0 6.6.0 7.4.1 node_modules/workbox-build zykjblog

2.更改版本文件

修改根目录的package.json文件,将对应插件名称所对应的版本号更改为要更新的版本号。

3.开始更新

1
npm install --save

4.查看当前版本号

1
hexo version

参考:Hexo版本升级指南

1.使用cd命令进入博客根目录

1
2
# 查看当前版本,判断是否需要升级
hexo version

2.全局升级hexo-cli

1
npm i hexo-cli -g

3.再次查看版本,看hexo-cli是否升级成功

1
hexo version

4.安装npm-check

1
npm install -g npm-check

5.检查系统插件是否需要升级

1
npm-check

6.安装npm-upgrade

1
npm install -g npm-upgrade

7.更新package.json

1
npm-upgrade
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
npm-upgrade
Checking for outdated production, optional, development, peer and bundled dependencies for "D:\网站\zykjblog\package.json"...
[====================] 31/31 100%

New versions of active modules available:

hexo ^6.3.0 → ^8.1.2
hexo-bilibili-bangumi ^1.8.2 → ^2.1.7
hexo-deployer-git ^3.0.0 → ^4.0.0
hexo-generator-archive ^1.0.0 → ^2.0.0
hexo-generator-category ^1.0.0 → ^2.0.0
hexo-generator-feed ^3.0.0 → ^4.0.0
hexo-generator-tag ^1.0.0 → ^2.0.0
hexo-renderer-marked ^5.0.0 → ^7.0.1
hexo-renderer-stylus ^2.1.0 → ^3.0.1
js-yaml ^4.1.0 → ^4.2.0
@babel/core ^7.19.3 → ^7.29.7
@babel/preset-env ^7.19.3 → ^7.29.7
gulp ^4.0.2 → ^5.0.1
gulp-html-minifier-terser ^6.0.1 → ^8.0.0
workbox-build ^6.5.4 → ^7.4.1

? Update "hexo" in package.json from ^6.3.0 to ^8.1.2? Yes

? Update "hexo-bilibili-bangumi" in package.json from ^1.8.2 to ^2.1.7? Yes

? Update "hexo-deployer-git" in package.json from ^3.0.0 to ^4.0.0? Yes

? Update "hexo-generator-archive" in package.json from ^1.0.0 to ^2.0.0? Yes

? Update "hexo-generator-category" in package.json from ^1.0.0 to ^2.0.0? Yes

? Update "hexo-generator-feed" in package.json from ^3.0.0 to ^4.0.0? Yes

? Update "hexo-generator-tag" in package.json from ^1.0.0 to ^2.0.0? Yes

? Update "hexo-renderer-marked" in package.json from ^5.0.0 to ^7.0.1? Yes

? Update "hexo-renderer-stylus" in package.json from ^2.1.0 to ^3.0.1? Yes

? Update "js-yaml" in package.json from ^4.1.0 to ^4.2.0? Yes

? Update "@babel/core" in package.json from ^7.19.3 to ^7.29.7? Yes

? Update "@babel/preset-env" in package.json from ^7.19.3 to ^7.29.7? Yes

? Update "gulp" in package.json from ^4.0.2 to ^5.0.1? Yes

? Update "gulp-html-minifier-terser" in package.json from ^6.0.1 to ^8.0.0? Yes

? Update "workbox-build" in package.json from ^6.5.4 to ^7.4.1? Yes


These packages will be updated:

hexo ^6.3.0 → ^8.1.2
hexo-bilibili-bangumi ^1.8.2 → ^2.1.7
hexo-deployer-git ^3.0.0 → ^4.0.0
hexo-generator-archive ^1.0.0 → ^2.0.0
hexo-generator-category ^1.0.0 → ^2.0.0
hexo-generator-feed ^3.0.0 → ^4.0.0
hexo-generator-tag ^1.0.0 → ^2.0.0
hexo-renderer-marked ^5.0.0 → ^7.0.1
hexo-renderer-stylus ^2.1.0 → ^3.0.1
js-yaml ^4.1.0 → ^4.2.0
@babel/core ^7.19.3 → ^7.29.7
@babel/preset-env ^7.19.3 → ^7.29.7
gulp ^4.0.2 → ^5.0.1
gulp-html-minifier-terser ^6.0.1 → ^8.0.0
workbox-build ^6.5.4 → ^7.4.1

? Update package.json? Yes

8.更新全局插件

1
npm update -g

9.更新系统插件

1
npm update --save

10.再次查看版本,判断是否升级成功

1
hexo version

更新 Nodejs

更新完Hexo版本,执行了Hexo命令,发现报错

1
2
3
4
5
6
7
hexo cl && hexo s
FATAL
Error [ERR_REQUIRE_ESM]: require() of ES Module D:\zykjblog\node_modules\strip-ansi\index.js from D:\ykjblog\node_modules\hexo\dist\plugins\console\list\common.js not supported.
Instead change the require of index.js in D:\网站\zykjblog\node_modules\hexo\dist\plugins\console\list\common.js to a dynamic import() which is available in all CommonJS modules.
at Object.<anonymous> (D:\zykjblog\node_modules\hexo\dist\plugins\console\list\common.js:7:38)
at Object.<anonymous> (D:\zykjblog\node_modules\hexo\dist\plugins\console\list\page.js:7:18)
at Object.<anonymous> (D:\zykjblog\node_modules\hexo\dist\plugins\console\list\index.js:6:32)

原来是Nodejs版本太低了,下面是Hexo版本对应最低兼容Nodejs版本

Hexo 版本最低兼容 Node.js 版本
8.0+20.19.0

官网:https://nodejs.org/zh-cn/ 、下载Windows 安装程序(.msi),双击安装就行。

更新完成之后就可以直接运行了。

更新 _config.yml

参考:Butterfly _config.yml

下面豆包的(从Hexo 6.3.0到Hexo 8.1.2更新了哪些配置?):

# Writing 添加

1
syntax_highlighter: 'highlight.js'

删除 enable: true

1
2
highlight:
enable: true

结束!