参考文章Hexo+Github博客搭建教程_hexo github-CSDN博客真的再详细不过了 ,过程没得挑剔非常清楚,我写这篇文章的目的主要是作为一个新手遇到的问题另外推荐观看视频手把手教你从0开始搭建自己的个人博客 |无坑版视频教程| hexo_哔哩哔哩_bilibili
一定要细心看完 视频教程和博客教程不是同一位博主 但是你都能学习到很多很多
我只进行了这几部分123部分大家想必都没有问题最关键的是hexo 的语法及配置 其中关键的是sshd的设置 非常关键
第一
总体上配置到这一步基本没问题了 但是有很多人会卡在
hexo d
这一步 原因是推过去有问题会出现一个 spanw failed 的报错 我在csdn上也基本上查看了所有的解决方案基本都是三种 大概是以下这样
https://blog.csdn.net/m0_73820275/article/details/132088528
这上面有三种解决方案 但是都是针对配置问题 比如说没有在github设置 ssh密钥 ,要么是你的博客下部分文件没部署完全 再或者是你在测试连接github时链接不成
Error: Spawn failed
at ChildProcess.<anonymous> (D:\StudyMaterials\8_FileManagement\testBlog\blog\node_modules\hexo-util\lib\spawn.js:51:21)
at ChildProcess.emit (events.js:314:20)
at ChildProcess.cp.emit (D:\StudyMaterials\8_FileManagement\testBlog\blog\node_modules\cross-spawn\lib\enoent.js:34:29)
at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
这是第一种情况(我借用了这位博主的解决方案上面的链接也是他的这个文章)
以下是方法二
不幸的是这些都不是我的问题,更不幸的是你们碰到的也不是以上这三种的这些问题
其实以上三种问题都是你配置完不完全 你要做的就是按照Hexo+Github博客搭建教程_hexo github-CSDN博客这个文章详细的去对每一步都不落下并且成功每一步都有执行结果,小编我第一次搭建时也做了五六遍才把成功最后卡在了这里
搭建hexo博客时出现spawn failed怎么解决?
网上的解决办法都有尝试过,比如删除deploy那个文件夹,用的gitee也申请了许可证,但都没成功,提示是找不到仓库地址……(仓库已经开源,对了几遍SSH和网页地址都没问题)
现在不太方便截图,明天截个图,求助各位大佬,这个bug我从七月份卡到现在,或者有什么更好的免费搭博客的办法也可以推荐,谢谢谢谢各位
知乎上有位大佬给出的解决方法搭建hexo博客时出现spawn failed怎么解决? - 知乎
这是文章链接
以下内容为引用内容:我当初建站时也遇到过, hexo建站过程中遇到坑大部分我都踩过了并记录我的博客文章- 使用Hexo搭建自己的博客网站的troubleshooting部分. 以下是对该问题的分析与解决办法摘要.
作者:eagle 链接:https://www.zhihu.com/question/619765036/answer/3210221015 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 The TLS connection was non-properly fatal: unable to access 'https://github.com/xxxx/xxxx.github.io/': gnutls_handshake() failed: The TLS connection was non-properly terminated. FATAL { err: Error: Spawn failed at ChildProcess.<anonymous> ($your_project_dir/blog/node_modules/_hexo-util@2.5.0@hexo-util/lib/spawn.js:51:21) at ChildProcess.emit (events.js:400:28) at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) { code: 128 } } Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html
- 原因分析:
其实出现这个问题,很大可能是因为https和http的proxy的对应的分别是https和http开proxy server,而https的proxy server可能无法正常工作。一个work around是把https的proxy server换成http的proxy server:
解决办法有三种
方法一:
修改_config.yml文件的deploy部分,将https 修改为http url 或者 设置为git url, 配置为https oauth2 加token
- 方法一:设置为git url(推荐)
deploy: type: git repo: git@github.com:your_github_id/your_github_id.github.io.git branch: gh-pages
- 方法二:(将https 修改为http url)
deploy: type: git repo: git@github.com:your_github_id/your_github_id.github.io.git branch: gh-pages
- 方法三:在repo https url上要添加授权方式和token
deploy: type: git repo: https://oauth2:your_github_token@github.com/your_github_id/your_github_id.github.io.git branch: gh-pages 作者:eagle 链接:https://www.zhihu.com/question/619765036/answer/3210221015 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
这里我需要提醒的是rope的格式不是教程里的原因该作者也指出。另外有一点这个branch分支后的内容是gh-pages 这个内容不是固定的 是依据你的github仓库的(主)分支而定的
我们可以看到网上的很多教程在这一步配置时都给出了的时 这是因为之前的github 在你创建新的仓库时候都默认主分支是 master或者main(分支名 )这里解释清楚之后无论怎么变都可以 比如我的是
因为我一开始不懂这个配置文件的branch 和什么有关系 后来查阅资料后才理解 然后用的某乎大佬的解决方案 设置的 所以这个是一个易错点 当然你如果改配置文件仍然用branch: master 你也可以去github去创建一个master 并设置为主分支 ,设置为主分支的原因是因为你后续访问 : 你的id/你的id.github.io时才能到你的博客页面 可能是你访问仓库时github默认访问主分支这里赘述是因为这一点非常容易出错希望可以解决你们的错误
这些都设置好以后呢应该是没错了。。我以上问题全碰到过。暂时没碰到过其他问题
之后呢你需要运行
hexo clran
hexo g
hexo d
这三步之后git终端上会显示导入了许多文件 成功后你就可以去你的github刷新一下看有没有把你的博客文件推到你的仓库中 如果成功 就可以尝试去访问 你的id/你的id.github.io 啦