最近升级了node.js的版本,升到了最新的稳定版本v20.16.0,结果发现在该版本下hexo部署报错失败。本文记录了node20+版本下hexo部署报错失败的解决办法。
一、报错信息
执行hexo的deploy部署命令
1 | hexo d |
具体报错信息如下
1 | INFO Deploying: git |
遇到FATAL Something's wrong TypeError: mode must be int32 or null/undefined
这类错误通常是在使用Hexo生成静态文件时出现的。这个问题通常与Hexo的一些插件不兼容或配置不当有关。
二、解决办法
一般来说因为node.js和hexo存在版本适配的关系,所以当可能是一个版本过高一个版本过低导致的出现问题。
解决这个问题可以降低node.js的版本,可以将hexo更新至适配的高版本。这里介绍如何将hexo更新至适配的高版本。
1、查看哪些包需要更新
1 | npm outdated |
通过npm outdated 列出了所有需要升级的组件包,这里还给出了npm也需要升级的信息,需要将npm从10.8.1升级到10.8.2,具体的升级命令是 npm install -g npm@10.8.2
执行 npm install -g npm@10.8.2
完成npm的升级
2、升级更新需要升级的包
升级hexo和hexo-cli
1 | npm update hexo-cli hexo --latest |
重新执行npm outdated
可以看到hexo 的版本从4.2.0升级到了4.2.1
重新执行hexo d
,发现不报错了,并且可以成功部署。
这里还有hexo-abbrlink和hexo-generator-search 不是适配的版本,虽然不影响hexo部署,但也可以用同样的方法将其升为最新适配的版本。
1 | npm update hexo-abbrlink hexo-generator-search --latest |
博客地址:http://xiejava.ishareread.com/
关注微信公众号,一起学习、成长!