Hexo部署報錯Spawn failed及解決方案


原文鏈接:https://perry96.com/archives/882898e3.html

許可協議:署名-非商業性使用-禁止演繹 4.0 國際 轉載請保留原文鏈接及作者。

Hexo部署報錯Spawn failed及解決方案

1.問題描述

今天下午在使用hexo d -g命令進行博客部署時遇到了名為Spawn failed的報錯,具體信息見下圖。

spawn

2.問題分析和解決

2.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

所以可以知道是那些多余本地提交導致了報錯。

2.2 問題解決

現在的解決思路就是將本地倉庫的狀態進行回滾,對應的git命令如下。

git reset --hard commitId
--hard強制將緩存區和工作目錄都同步到你指定的commitId所對應的提交。
執行之后HEAD多了下面的一條記錄(圈出的那一串數字就是我自己倉庫中12:51:46時間對應的commit的ID號)。

reset

重新執行hexo d -g部署博客,發現問題成功解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM