解决使用Hexo搭建个人博客遇到的一些问题


前言

前几天在使用Hexo和GitHub创建个人博客的时候遇到了一些问题,也可以说是坑吧,主要遇到的有两个,一个是刚开始初始化的时候,一个是最后一步部署到GitHub的时候。没错,就很离谱,一个是劝退你,一个是先给你希望,最后再让你绝望。我也是试了很久,才找到以下几种解决办法。


一、初始化阶段连接不到GitHub,一直克隆失败

1.在初始化阶段踩的坑,大多数人第一步都完成不了就很容易让人直接劝退。。。

在使用 hexo init 的时候出现下面这样的情况,简直让人不能忍受!!报错代码如下:
fatal: unable to access ‘https://github.com/hexojs/hexo-starter.git/’: Recv failure: Connection was reset
WARN git clone failed. Copying data instead
FATAL Something’s wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html
Error: EPERM: operation not permitted, mkdir ‘D:’
在这里插入图片描述

2.这样的情况我遇到有两种原因:

2.1既没有配置npm淘宝镜像又没有打开“科学上网“工具,这样的情况下,二者完成其一一般都能解决。

(1)配置 npm 淘宝镜像
淘宝镜像是指淘宝提供的一个软件源,可以用于下载和安装各种软件包。为什么需要安装淘宝镜像呢?因为在国内,访问国外的软件源速度很慢,而淘宝镜像是国内的,下载速度快,可以提高软件安装的效率。打开 cmd 运行如下命令:

npm config set registry https://registry.npm.taobao.org 

安装配置完成后,继续运行 hexo init 就能解决了。
(2)打开“科学上网”工具,直接运行 hexo init 就行了。

2.2打开了“科学上网”工具,运行 hexo init 还是一直报上面的错误!

这种情况下可能是科学上网工具不稳定导致的网络连接不稳定,这里建议关掉并退出工具,再次执行 hexo init 初始化命令,如果还是不行,这里推荐一种不用“科学上网”,不连接到GitHub也能初始化的操作:

$ npx hexo init 【myblog】

在 git bush 运行以上命令,简直是不愿意使用科学上网工具的小伙伴的福音!它会直接在当前空文件下创建一个 myblog 的文件并进行初始化。
在这里插入图片描述

二、在最后一步将自己创建好的博客上传部署到github上,又出现报错!!!

1.问题描述如下

ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
FATAL Something’s wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html
Error: Spawn failed
at ChildProcess. (D:\Myblog\myblog\node_modules\hexo-util\lib\spawn.js:51:21)
at ChildProcess.emit (events.js:314:20)
at ChildProcess.cp.emit (D:\Myblog\myblog\node_modules\cross-spawn\lib\enoent.js:34:29)
at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12)
在这里插入图片描述

一般这种情况大多是网络原因导致的,科学上网工具不稳定,DNS解析被污染等因素。我们可以详细看看建立 ssh 连接的过程中发生了什么,可以使用 ssh -v命令,-v表示 verbose,会打出详细日志。

$ ssh -vT git@github.com

在这里插入图片描述
从上图可以看出,虽然访问的IP地址目测也没什么毛病,但是不管重复几次它还是连接超时导致无法部署,然后它显示SSH也连接失败,说明这个 22 端口目前是有问题的。

2.解决办法

2.1在 C:\Users\Administrator.ssh 中找到.ssh文件夹(此前配置SSH时会生成该文件夹)

在 .ssh 文件夹中新建文本文件 config ,不带后缀(可以新建文本文档,去掉 .txt 后缀)
打开 config 文件,输入以下内容,保存后即可,其中xxx@qq.com 为你自己的邮箱

Host github.com
User xxx@qq.com
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

2.2修改hosts文件

操作系统中 hosts 文件的权限优先级高于DNS服务器,在 C:\Windows\System32\drivers\etc 目录下找到并修改 hosts 文件,增加一条 github.com 的域名映射可以解决。
在这里插入图片描述
再次运行$ ssh -vT git@github.com检查,发现连接成功了!

在这里插入图片描述
这里输入yes,就连接成功了!
在这里插入图片描述
最后,输入 hexo d 就能够上传部署成功了!


总结

以上就是所有要说的内容了,只是我个人在搭建过程中遇到的一些问题,仅供参考一下,每个人遇到的问题可能都是不一样的,具体问题具体分析,多查查,多看看,一般都能解决的。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值