Hexo & Next 升级笔记

  • Title(EN): Hexo & Next Upgrade Note
  • Author: dog2

几年没有碰Blog,最近打算重新开始写,因此需要更新hexo以及Next主题。

由于不怎么懂前端,不出意外意外地遇到了一堆坑,这里记录一下:

目的

  • node: v6.17.1 => v13.7.0
  • hexo: v3.2.x => v4.2.0
  • next: v4.x => v7.8.0

更新 node

我的系统使用nvm管理多版本node,首先更新npm:

1
npm install -g npm

清除npm缓存,可能需要 sudo

1
npm cache clean -f

更新 hexo

进入blog目录,执行如下命令:

  • 更新package.json中的hexo及个插件版本
    1
    2
    3
    4
    npm install -g npm-check
    npm install -g npm-upgrade
    npm-check
    npm-upgrade
  • 更新hexo及所有插件
    1
    npm update
  • 确认hexo版本号是否已更新
    1
    hexo version

潜在错误

此时运行 hexo generate 命令,若出现了如下错误:
1
2
3
...
DTraceProviderBindings MODULE_NOT_FOUND;
...
通过重新安装 hexo-cli 可以解决
1
2
npm uninstall hexo-cli -g
npm install hexo-cli -g

更新 Next 主题

备份(可选)

我备份了如下旧配置文件:

  • {blog_dir}/themes/next/_config.yml
  • {blog_dir}/themes/next/languages/en.yml
  • {blog_dir}/themes/next/languages/zh-Hans.yml
  • {blog_dir}/themes/next/source/404.yml

后来发现新版Next变化太大,很多配置项和方式都变了。 但是旧文件可以作为过去喜好的参考。

更新 Next

想要更新Next时,发现已经有了天翻地覆的变化,连github的项目目录都变了,该项目已经社区化:

  • 旧目录 ~ v5.xhttps://github.com/iissnan/hexo-theme-next
  • 新目录 v6.x ~https://github.com/theme-next/hexo-theme-next

  • 删除旧的 next
    1
    rm -fm themes/next
  • 克隆最新的 next

    1
    git clone https://github.com/theme-next/hexo-theme-next themes/next

配置 Next

从官方文档获悉,Next的配置变了很多。

其实首先该插一句,官网也变了。。。

  • 旧官网:https://notes.iissnan.com/
  • 新官网:https://theme-next.org/

新Next的配置文件,有2种设置方式,请参考官方文档: - 官方中文 - 官方英文

每个人的配置不尽相同,我只是简单的配置了一部分,这里给出大佬们的非常全面的配置以供参考 - Hexo-NexT (v7.0+) 主题配置 - Next主题美化(仅7.1版本)

定制 Next

Dark Mode 暗色背景(夜间模式)

这部分内容较多,我单独写到了另一篇文章里 Hexo(Next主题)Dark Mode(暗色背景/夜间模式)折腾笔记

代码块Mac Panel特效

这个属于美化,我没有尝试,请参见大佬的订制

遗留问题

  1. 当前版本的Next 相关文章(hexo-related-popular-posts插件)无法使用,不知道是不是我的姿势不对

参考链接

  • Hexo版本升级指南
  • Hexo的DTraceProviderBindings MODULE_NOT_FOUND问题
  • Hexo博客NexT主题从v5.x.x更新到v6.x.x的记录及总结
  • Next升级+Mac迁移