hexo常见错误集合

一、部署报错Spawn failed

原链接:Hexo部署报错Spawn failed及解决方案

1.1 原因

  • 在网上通过简单的查询之后发现问题出在.deploy_git文件夹中,这个文件夹是hexo框架渲染生成的所有文件的一个本地git仓库hexo d命令就是将整个.deploy_git文件夹的内容push到GitHub上的。

    deploy-git

  • 网上的一个解决方案是将GitHub上的xxx.github.io仓库克隆下来并改名成.deploy_git来替换原来的,这种改名方式在Windows系统中是无法完成的。简单分析这种方法的原理无非就是.deploy_git的内容回滚到和GitHub上同步的状态

  • 结合刚刚的分析,不妨打开.deploy_git\.git\logs路径下的HEAD查看一下仓库的状态历史(红线范围内的记录是我在第一次报错之后的多次无脑尝试,可以忽视)。

    git-head

    再打开GitHub上的提交记录可以发现最近的时间点是12:51:46

    git-head

  • 所以可以知道是那些多余本地提交导致了报错。

1.2 解决方案

  • 现在的解决思路就是将本地仓库的状态进行回滚,对应的git命令如下。

    1
    git reset --hard  commitId
    • --hard强制将缓存区和工作目录都同步到你指定的commitId所对应的提交。
  • 执行之后HEAD多了下面的一条记录(圈出的那一串数字就是我自己仓库中12:51:46时间对应的commit的ID号)。

    reset

  • 重新执行hexo d -g部署博客,发现问题成功解决。