Hexo版本升级指南

2021.4 更新

今天尝试升级npm,结果遇到了一系列问题。

花了不少时间,最后看到一个简单实用的命令来完成nodejs的升级(nvm方法):

1
nvm install stable --reinstall-packages-from=current

2020.11 更新

最近发现hexo升级到了5.2版本。实测以下方法依旧有效。


概述

进来想起来自己还有这么一个博客。那么第一件事当然是对版本进行升级咯!可升级的过程远远没有想象中的那般顺利,因此在此记录一下,其他人如果遇到类似的问题,也可以有一个借鉴。
升级前,先检查当前hexo的版本号:hexo --version。版本信息如下图所示:
Hexo版本信息

升级步骤

在Hexo的文档中搜索一番,结果!!完全没有提及版本升级的方法。。。行吧,只能借助万能的Google,经过比较,终于找到了一个简单粗暴的方法:
首先进入Hexo的主目录,然后直接执行

1
npm update

等等等…没动静呐!看来有必要重新配置一下NPM…

更换NPM镜像服务器地址,解决国内NPM安装依赖速度慢的问题

在npm的命令最后使用--registry参数指定国内镜像服务器地址,就可以让NPM的安装速度获得显著的提升。
这里我们使用阿里巴巴的镜像:

1
npm update --registry=http://registry.npm.taobao.org

当然,也可以通过如下的命令对NPM进行永久配置:

1
npm config set registry http://registry.npm.taobao.org

这样子,我们的NPM命令就可以快速地执行了!

使用NPM进行Hexo版本升级

这就完了???是的!再执行一遍hexo --version,看一下是不是已经到了最新的版本:
Hexo版本信息2

Hmmmmm…版本信息确实产生了变化,从3.7.1升级到了3.9.0。但是,这貌似也不是最新的版本呀!!

难道是Node.js的版本问题?Hexo官方文档中有Node.js的版本要求,Hexo 4.1+ 需要至少8.10版本。

NodeJS版本要求

我重新看了一下之前hexo --version的输出结果:node: 13.5.0..
这个显然是满足的呀!所以完全不会是Node.js的版本问题造成无法更新到最新版本。

Package.json 修改版本信息

那么,究竟是哪里出了问题呢?
仔细思考:NPM是如何管理本地安装的呢? package.json!! 赶紧查看Hexo目录下的package.json文件。果然!我清清楚楚地看到了"hexo" : "^3.9.0"的字样。问题是找到了,但是这一整列的插件,我们如果一个个去查最新的版本,肯定是要费不少功夫,那么有没有更快速的方法呢?
我们可以用下列命令来自动化完成这项工作:

1
2
3
4
npm install -g npm-check
npm install -g npm-upgrade
npm-check
npm-upgrade

执行结果如下图:
npm-upgrade执行结果

至此,我们完成了package.json中,版本信息的更新。

完成Hexo版本升级

我们再次执行npm update
完成以后,我们再次通过hexo version确认版本号。成功,我们终于顺利将Hexo升级到了最新的版本。
Hexo版本信息3


参考文档