关于程序员:gitbook热更新时报错operation-not-permitted

在应用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

本文由博客一文多发平台 OpenWrite 公布!

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理