问题与分析

某天忽然发现,一直运行得好好的Pages服务部署失败了,GitHub Pages报错如下:

  1. Your site is having problems building: The tag cq on line 3 in source/high/index.md is not a recognized Liquid tag.
  2. For more information, see https://help.github.com/articles/page-build-failed-unknown-tag-error/.

与此同时,Coding Pages同样也报错了:

  1. Starting jekyll build.
  2. > jekyll build --safe
  3. Configuration file: /usr/src/app/_config.yml
  4. jekyll 3.6.2 | Error: The next theme could not be found.
  5. Jekyll build exit with code 1.
  6. Fail to build jekyll site.

首先我使用的是Hexo的next主题,而根据GitHub Pages的报错信息来看,是说在source/high/index.md里使用到了一个不认识的cq标签。

这个标签是next主题自带的,使用该标签快一年了,还是第一次遇到报这个错。接着根据Coding Pages的报错来看,则是说/usr/src/app/_config.yml里找不到jekyll的主题。

这就很奇怪了,我使用的明明是hexo,怎么忽然就变成jekyll了?一阵瞎折腾过后,一直部署失败。我忽然想起来一个事情,我之前曾经拿本地的博客仓库的git配置练过手,难道和这个有关?

我开始查找本地博客仓库的git配置,我是使用hexo-deployer-git这个插件来将本地生成的静态博客发送到远程仓库的。

当我在本地在执行hexo g后,会在博客根目录下生成一个public文件夹,这个文件夹里的文件组合起来就是一个完整的静态博客。

接着如果执行hexo d,就会把这个public文件夹的东西完完整整拷贝到.deploy_git文件夹里,然后会把该文件夹里的所有文件全部推送push到远程库。之后会触发Pages服务的钩子去build项目,然后部署到网站上。

发现线索

我打开public文件夹,发现生成出来的文件很正常,接着打开.deploy_git文件夹,发现也很正常,接着查看远程库里的文件,终于发现了问题。

在远程库的分支里,根本就没有hexo相关的文件,至此算是找到原因了。

很显然,我在执行hexo d时出了问题,没能正常将文件push到远程库,于是部署就失败了。之前该命令是没问题的,可之前我曾经动过手脚,修改过博客项目里的git配置,手动修改了.git里的文件,莫非这就是问题的根源?

解决方法

基于以上的猜想,我直接删掉了本地博客项目的.deploy_git文件夹,重新执行命令:

  1. hexo cl
  2. hexo g -d

等待片刻后,我终于看到远程部署成功,我的个人站点再次运转成功!

皇天不负有心人啊!原因终于明了,是.deploy_git文件夹出现问题,删掉该文件夹,重新运行hexo d即可。

记录下这次的遭遇,遇到问题应该静下心来,仔细分析,才不容易瞎折腾~

Hexo - 记录一次Pages服务部署失败的原因的更多相关文章

  1. 记录一次sshd服务启动失败

    记录一次sshd服务启动失败 问题描述: 服务器开机之后发现无法通过远程连接服务器终端,但是服务器并未宕机,于是考虑到sshd服务出现异常 解决思路: 查看服务器sshd服务运行情况 [root@ha ...

  2. Activiti系列:带有serviceTask的或者定时启动任务的流程部署失败的原因分析

    在将两个带有serviceTask任务的流程部署到数据库的时候发现无法导入,最终分析出如下问题: 1)流程1是打算让定时启动事件可以每小时触发一次 由于原来是用 R/2015-11-01T01:00: ...

  3. Kubernetes 部署失败的 10 个最普遍原因

    [原文].后面我们可能还会看到一个 OOMKilled 错误. 我们的应用正在挂掉?为什么? 首先我们查看应用日志.假定你发送应用日志到 stdout(事实上你也应该这么做),你可以使用 kubect ...

  4. CentOS 7下MySQL服务启动失败的解决思路

    今天,启动MySQL服务器失败,如下所示: [root@spark01 ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): Jo ...

  5. phpnow 在win7下遇到“安装服务[apache_pn]失败”问题的一种解决办法

    安装PHPnow时如果遇到下列问题: 安装服务[apache_pn]失败.可能原因如下: 1. 服务名已存在,请卸载或使用不同的服务名. 2. 非管理员权限,不能操作 Windows NT 服务. 将 ...

  6. 针对github权限导致hexo部署失败的解决方案

    hexo deplay出错,没有反应 今天想在自己的另一个博客地址(链接地址)上更新一下博客,没想到hexo deplay没有反应,以下是解决过程:(更新于 2016-12-24 11:17:43) ...

  7. linux下syslog-ng日志集中管理服务部署记录

    syslog是Linux系统默认的日志守护进程,默认的syslog配置文件是/etc/syslog.conf文件.syslog守护进程是可配置的,它允许人们为每一种类型的系统信息精确地指定一个存放地点 ...

  8. docker swarm overlay stack 服务部署记录

    项目xxx(后端),xxx-ui前端(前后端分离的项目) 依赖mysql,elasticsearch.分别制作了四个镜像来做这件事.希望可以制作跨主机的部署,使用了swarm,以下是学习记录. 参考 ...

  9. Linux下使用 github+hexo 搭建个人博客02-hexo部署到Github Pages

    之前的这篇文章<Linux下使用 github+hexo 搭建个人博客01-hexo搭建>,相信大家都知道怎么搭建 hexo ,怎么切换主题,并且完成了一篇博文的创建,以及 MarkDow ...

随机推荐

  1. Spring Boot2.0之整合事物管理

    首先Spring 事务分类 1.声明事务  原理:基于编程事务的 2.编程事务  指定范围 扫包去解决 3.事务原理:AOP技术   通过环绕通知进行了拦截 使用Spring 事务注意事项: 不要tr ...

  2. haproxysocket 参数记录

    haproxy的一些指标 pxname  组名 svname  服务器名 qcur    当前队列 qmax    最大队列 scur当前会话用户 smax最大会话用户 slim会话限制 stot会话 ...

  3. ultraedit激活

    使用期满的解决办法:https://blog.csdn.net/dfh00l/article/details/52093630 下载:https://blog.csdn.net/qq_16093323 ...

  4. HTML/CSS实现的搜索框

    谷歌和百度首页的搜索框都是<input>+<button>模式的,bing的搜索框感觉要好点儿.简言之,就是将提交按钮放到<input>中,其实这是做不到的,只能伪 ...

  5. CSS3实现自定义Checkbox动画

    CSS3实现自定义Checkbox动画是一款CSS3自定义checkbox,而且这款checkbox还带有动画效果,当你选中checkbox的时候,会以动画的方式打上一个大大的勾. 源码下载:http ...

  6. web项目的实质

    web项目的实质 web项目的实质其实也就是在用户发过来一个请求后,我们返回一个响应. 用户看到的页面就是我们响应中的响应体(里面是html代码). 所以,我们整个项目的所有操作都是围绕着怎么来写好这 ...

  7. CentOS 7编译安装Tengine+PHP+MariaDB全程笔记

    安装环境:CentOS7 3.10.0-693.5.2.el7.x86_64 准备源码包: pcre-8.41.tar.gz openssl-1.0.1h.tar.gz zlib-1.2.11.tar ...

  8. jsp日期插件My97DatePicker 强大的日期控件 使用方便简单(转)

    本文属转载(希望对编程爱好者有所帮助)详情请访问官方网站 http://www.my97.net/dp/index.asp 一. 简介 1. 简介 目前的版本是:4.7 2. 注意事项 My97Dat ...

  9. 时尚与深度学习系列:Fashion forward: Forecasting visual style in fashion

           https://arxiv.org/pdf/1705.06394.pdf         将深度学习与时尚预测联系在一起,是一个很有趣但是估计结果会没什么成效的话题.因为,时尚预测这一领 ...

  10. UNR #1 火车管理

    很简单 用一个线段树维护 1.答案 2.当前栈顶是什么时候push进来的 然后用一棵以时间为版本的可持久化线段树维护每个操作之后第一个覆盖到他的操作是哪个 就可以了 询问直接在线段树上询问,修改在两棵 ...