XiaBee's Studio.

Hexo 本地迁移

字数统计: 465阅读时长: 1 min
2022/08/14

前置知识

迁移过程

  • 起因:工作电脑换成了 MacBookPro,原来写博客的电脑正式退役,只用来打游戏(x)
  • 现状:GitHub 上的 hero_backup 分支保存了需要的源码文件,本地电脑什么文件都没有
  • 本地电脑已安装 git, homebrew 等工具

源码下载

1
2
3
4
5
6
7
8
git clone git@github.com:xiabee/xiabee.github.io.git
# 克隆 GitPage 的仓库到本地,此时是展示 Page 页面的主分支
cd xiabee.github.io

git checkout hexo_backup
# 切换到源码备份分支
git pull
# 下载源码

image.png

环境安装

  • 这里用的是 M1 Pro MacbookPro,并且安装了 homebrew
  • 其他环境参考 前述博客 的“迁移与复原”部分
1
2
3
4
5
6
7
8
brew update
brew install hexo
# 在本地安装 hexo

cd xiabee.github.io
# 进入仓库目录
npm install
# 安装相关依赖

故障排查

页面渲染失败

问题描述

  • hexo g -d 之后,博客全白,什么也没有

解决方案

  • 检查一下备份文件里面有没有备份主题文件……没有的话重新下载一下主题文件,然后重新 hexo g

db.json 读写有问题

问题描述

  • ERROR Database load failed. Deleting database.

​ 读取数据库文件 db.json 失败,删除了 db.json

image.png

  • OperationalError: ENOENT: no such file or directory, open ‘/Users/xiabee/Desktop/GitHub/gitpage/db.json’

​ 找不到数据库文件 db.json,导致操作失败

image.png

解决方案

  • 折腾了很久,只在一个古老 issue 中找到了类似问题,但是并没有合适的解决方案——然后尝试了一下更新 npm,就莫名其妙解决了……
1
2
3
cd xiabee.github.io
# 进入 hexo 根目录
npm update

最终效果

页面渲染与推送执行成功:

image.png

CATALOG
  1. 1. 前置知识
  2. 2. 迁移过程
    1. 2.1. 源码下载
    2. 2.2. 环境安装
  3. 3. 故障排查
    1. 3.1. 页面渲染失败
      1. 3.1.1. 问题描述
      2. 3.1.2. 解决方案
    2. 3.2. db.json 读写有问题
      1. 3.2.1. 问题描述
      2. 3.2.2. 解决方案
  4. 4. 最终效果