在使用gitbook写东西的时候,当文档内容有更新的时候,会自动更新内容到页面上,方便预览。但是,存在一个bug,就是会神奇的崩溃掉,出现如下的错误提示:

Restart after change in file README.md

Stopping server
events.js:183
throw er; // Unhandled 'error' event
^ Error: EPERM: operation not permitted, lstat 'F:\workspace\private-cloud-backup\gitbook-test\_book'

解决方案也很简单,重新运行一下gitbook serve命令即可。有时候每保存一下,就会崩溃一下,这就有点烦了。

网上搜一下,有没有现在的解决方案

遇到问题,首先问问百度谷歌,毕竟是面向搜索引擎的开发人员嘛。

网上有大佬对这个事故,做了深入的分析,分析过程很详细,我就不说了,重点引用一下结论:

windows 系统上启动 gitbook 服务后,如果本地文件发生更改,热加会失败.

如果启动服务器后立即删除 _book 目录,那么之后再怎么修改本地文件都能顺利重启.

目前还没有找到问题的根源,下一次将深入源码继续探讨到底是哪里出问题导致 Windows 系统无法重启.

虽然及时删除 _book 目录并不算是很好的解决方案,但至少 markdown 灰姑娘又能化妆成 html 小姐姐了呢!

有兴趣的朋友可以阅读一下原文 https://juejin.cn/post/6844903840332939277

虽然大佬分析的很详细,但是也没能从中找到一个简单的可执行方案。

换种思路,解决问题

回过头来,换一种思路再来考虑这个问题,我们使用gitbook是为了写作,而gitbook serve只是为了让我们可以随时预览自己的写作结果。当出现问题时,我们的手工解决方案是重启一即可,那我们能不能让他崩溃时自动重启呢?

关于自动重启的方案,首先想到的是守护进程。关于守护进程,要么自己写一个,要么网上找一个,感觉这都太了,不是我想要的。于是又了解了一下bat批处理脚本能不能解决,你别说,还真可以:

::该脚本为启动gitbook本地服务器,当服务崩溃时会自动重启
@echo off
:rungitbook
call gitbook serve
@goto rungitbook

将以上代码,在文档目录保存为gitbook.serve.bat,然后双击运行。当gitbook serve崩溃时,会自动重新启动。

至此,问题就算是解决了。

其它

常用命令

命令 说明
gitbook init 在当前目录初始化gitbook目录结构
gitbook build 将文档编译为html文件
gitbook serve 启动gitbook服务

发布到Github

发布到Github只需要git push即可。这种方式只能将文档同步到Github上,我们还需要将编译结果直接作为网页发布,这里推荐使用gh-pages

使用gh-pages只是将指定目录发布到gh-pages分支,你首先需要在Github上建立相应仓库。

安装

gh-pages是一个nodejs包,首先你需要安装nodejs环境。

然后,运行以下命令安装gh-pages

npm install -g gh-pages

发布到gh-pages

安装好gh-pages后,就可以使用gh-pages将编译结果发布到Github上了。

gh-pages -d _book

最新文章

  1. QT的程序开机自启动方法
  2. SQL约束
  3. 帝国备份王(Empirebak)万能cookie及拿shell
  4. Webstrom (或Phpstrom)使用git(oschina-码云)
  5. jdk 1.5
  6. 【设计模式 - 12】之代理模式(Proxy)
  7. CodeForces 225C Barcode DP
  8. MySQLdb 连接Mysql 数据库出错解决
  9. hdu 4445 Crazy Tank (暴力枚举)
  10. Oracle 11g完全卸载方案(注册表清理)
  11. python+selenium自动化软件测试(第1章):环境搭建,你也可以直接用Anaconda!
  12. iOS下OpenCV开发用OC还是Swift
  13. Appium+python自动化获取toast消息的方法
  14. httpclient的简单使用
  15. fn:replace()函数
  16. Windows 2012 R2 安装Nessus
  17. Spring Aop的理解和简单实现
  18. Others-接口集成方式
  19. Medication Reconciliation Overview
  20. C语言学习笔记:14_内部函数和外部函数

热门文章

  1. supermvc 操作备要
  2. Docker系列(8)- 常用其他命令(1) | 日志、元数据、进程的查看
  3. 常用的excel技巧
  4. Css3 3D 旋转动画效果
  5. 定要过python二级 选择第3套
  6. Java(一)——基础知识
  7. Flask SSTI利用方式的探索
  8. SSA
  9. 定制个机器人帮你和Ta聊天
  10. 理解ASP.NET Core - 选项(Options)