2021年7月16日星期五

hexo版本升级

 title: "hexo版本升级"

slug: "hexo-update"
date: 2020-07-12T11:05:25+08:00
draft: false
toc: true
weight: false
categories: ["建站笔记"]
tags: ["hexo"]

1. 准备工作

1.1. 备份源文件

版本升级以前一定要先备份源文件,防止后面一些插件升级出现bug

1.2. npm速度太慢

如果npm install速度过慢,可安装cnpm淘宝镜像替代:

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装好了就可以使用cnpm来替代npm进行依赖的下载了:

cnpm install

2. 版本升级

先查看hexo版本:

hexo version

升级命令如下:

npm i hexo-cli -g
npm update
hexo version

注意:如果升级后报错,大概率是因为安装的某个插件的问题(如hexo升级5.4后,hexo-cake-moon-menu插件导致报错,就需卸载此插件,当然也有可能是主题和这个插件不兼容),这时就需要排查是哪个插件的问题,最直接的方法就是重新初始化hexo,所以说升级前备份源文件是及其重要的。

3. 插件升级

上面升级命令不够正确(插件没有升级,不过插件升级可能会导致bug,要事先备份好源文件),继续往下操作:

3.1. 检查插件是否有升级

npm install -g npm-check
npm-check

3.2. 升级系统中的插件

npm install -g npm-upgrade
npm-upgrade

3.3. 更新全局包

npm update -g

3.4. 更新生产环境依赖包

npm update --save

3.5. 再次查看版本号

hexo version

4. 出现的问题

升级插件后报错:

hexo TypeError [ERR_INVALID_URL]: Invalid URL

主要是因为某些插件升级后有bug,需要退版本,解决方法如下:

  • 删除node_modules文件夹

  • 把稳定版本的package.jsonpackage-lock.json复制到当前文件夹并覆盖

  • npm install

5. hexo 5.0升级

5.1. 升级方法

2020.7.29 To upgrade to Hexo v5, change the following line in your package.json,

package.json

- "hexo": "^4.2.1",
+ "hexo": "^5.0.0",

然后

npm i hexo-cli -g
npm update
hexo version

5.2. 存在的问题

升级hexo 5.0后,hexo s后,提示:

INFO  Validating config
WARN Deprecated config detected: "use_date_for_updated" is deprecated, please use "updated_option" instead. See https://hexo.io/docs/configuration for more details.

5.3. 解决方法

站点配置文件_config.yml

- use_date_for_updated: false
+ updated_option: mtime

{% note primary %}

Hexo 4.0.0 提供的 use_date_for_updated 配置项现已被 updated_option 替代。

use_date_for_updated: true 现在等价于 updated_option: 'date'。
use_date_for_updated: false 现在等价于 updated_option: 'mtime'。
//如果从hexo 4.0升级到5.0,这里应当是updated_option: mtime(不要引号)

{% endnote %}

6. 参考链接

没有评论:

发表评论