昨天部署的时候突然spawn failed,怎么部署都部署不上。后来折腾了好一会终于解决了这个报错问题。今天又发现群友有这个问题,所以写个文章来复盘一下。

截图来自群员

解决方式-1(新)

重启电脑

解决方式〇(新)

我遇到一次这个问题是因为我的Hexo是部署到服务器的,然而可能是因为服务器端账户文件夹权限的配置错误导致我用Git用户无法部署。

解决方法:首先检查服务器是否能被ssh跑通,SERVER填写自己的云主机ip

1
ssh -v git@SERVER

能跑通的情况下,尝试使用root用户来进行部署

1
2
deploy:
repo: root@你的域名:/路径

如果使用GitHub,可以尝试是否能跑通GitHub

1
ssh -T git@github.com

解决方式一(首先尝试)

huahua提供的方法,删除博客文件夹中的.deploy_git文件夹,然后在终端cd这个文件夹后输入git config --global core.autocrlf false

解决方式一点五

打开_config.yml配置文件

修改以下内容

1
2
3
4
5
6
7
deploy:

type: git

repo: https://github.com/yourname/yourname.github.io.git

branch: master

其中的repo修改为

1
repo: git@github.com:yourname/yourname.github.io.git

解决方式二(未验证)

小青提供的方法:找到.deploy_git文件夹中的index.lock文件,删除就好了。

解决方式三(不推荐)

cd进.deploy_git文件夹,然后使用git push -f强制推送

解决方法四

Perry提供的方法

打开.deploy_git\.git\logs路径下的HEAD查看最近一次正确的那次的commitId然后用git reset --hard commitId回滚

大功告成!

然后可以直接hexo clean && hexo g && hexo d,发现就可以部署上了。