Hexo 错误 Spawn failed 解决方案
最近几天改了一些东西以后,一直上传不了博客
client_loop: send disconnect: Broken pipeMiB | 78.00 KiB/s
send-pack: unexpected disconnect while reading sideband packet
fatal: the remote end hung up unexpectedly
FATAL {
err: Error: Spawn failed
at ChildProcess.<anonymous> (/Users/qry/q779.github.io/node_modules/hexo-util/lib/spawn.js:51:21)
at ChildProcess.emit (node:events:513:28)
at ChildProcess._handle.onexit (node:internal/child_process:291:12) {
code: 128
}
} Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html
我自己的问题找了好久找出来了,可能是不小心把 .deploy_git
文件夹里的文件挪动和修改过
然后我的博客到目前为止,整个仓库的东西大约有 800 多 MiB(因为有好多好多的图片和文件)
什么意思呢?就是说我这次的 git push 要把整个仓库的东西全部 push 上去,当然慢,而且容易断线什么的。
如何解决?
我们可以找个空文件夹用下面的指令直接克隆整个仓库
git clone https://github.com/q779/q779.github.io.git
然后把克隆下来的东西移到 .deploy_git
里。
git clone
和直接下载 zip 的区别在于,前者会保留自带的 .git
文件夹。
这个 .git
文件夹实际上记录了你每次 push 的修改内容。
只要你这次没有额外 push 一大堆的超大的东西上去,那么这么搞就肯定可以(我自己就这么搞的)
如果你克隆不下来 github 仓库的东西,那你可以找个镜像站克隆一下,网上挺多的
比如我用的是 https://githubfast.com/
镜像站,截稿前这个站可以用,而且超级快。
另外如果你和我一样是 MacOS ,那么在移动过程中可能会不小心弄出来几个 .DS_Store
文件
只需要在 .deploy_git
中打开终端(或者 cd 过去),然后输入下面的指令即可
find . -name '.DS_Store' -type f -delete
所以隐藏文件夹不要随便乱动啊!
等等,如果你说以上的方法不能解决你的问题
那你可以参考这篇文章 Hexo错误:spawn failed的解决方法 ,上面有很多的方法。
另外通常来说 Spawn failed 是网络的问题,实在不行换个网络试试吧,或者挂个代理。