gitbook的入坑之路

分库君
• 阅读 2829

你好,我是悦创。

安装 gitbook 教程很多,我这里就不详细展开了,可以点击这个链接查看:https://www.aiyc.top/1947.html 如果链接失效,可以留言。

这里主要说一下我安装 gitbook 中所遇到的坑。

1. 问题:安装 gitbook 出现

TypeError: cb.apply is not a function 

解决办法:nodejs 降级

安装 gitbook 的一些问题 gitbook init 和 if (cb) cb.apply(this, arguments),cb.apply is not a function

一,使用 gitbook init 时,卡在了 Installing GitBook 3.2.3 这一步

解决办法:

  1. 翻墙
  2. 使用淘宝镜像下载:
  3. npm下载路径,检查是不是淘宝镜像:
npm config get registry
npm config set registry https://registry.npm.taobao.org

切换成淘宝镜像

再检查是不是淘宝镜像:

npm config get registry

再安装:

gitbook init

之前是一直卡在这里,我打了三篇代码没好!!设置之后,打了一局,回头一看,就出来了!

但是报错了!!!但这又是另一个悲伤的故事。。。

二,if (cb) cb.apply(this, arguments),cb.apply is not a function

产生了如下的报错:
gitbook的入坑之路

产生这个报错的原因在于,nodejs 的版本不对,不支持这个 gitbook.

有两个解决办法:

一,切换 nodejs 的版本:

切换成 nodejs 的 v10.21.0 版本就会成功。

当然啦,在这里,我又接触到了新的知识!因为 nodejs 的版本很多,所以,就有 nodejs 的版本控制工具,可以方便地切换版本!

这是这个方法的博客地址,https://www.aiyc.top/1946.html

二,第二个方法呢,就更方便且不要脸了,就是把报错的代码注释掉!
直接打开报错的文件:

C:\Users\Administrator\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm\node_modules\graceful-fs\polyfills.js

错误的位置在代码的第287行,就是这个死乞白赖的函数!!!

function statFix (orig) {
  if (!orig) return orig
  // Older versions of Node erroneously returned signed integers for
  // uid + gid.
  return function (target, cb) {
    return orig.call(fs, target, function (er, stats) {
      if (!stats) return cb.apply(this, arguments)
      if (stats.uid < 0) stats.uid += 0x100000000
      if (stats.gid < 0) stats.gid += 0x100000000
      if (cb) cb.apply(this, arguments)
    })
  }
}

这个函数的作用是用来修复 node.js 的一些 bug ,但是我就为了学个 gitbook ,没必要难为我自己!

所以,我就找到这个函数的调用:

gitbook的入坑之路
gitbook的入坑之路

就成这样子啦!嘿嘿~

gitbook的入坑之路

2. 问题:使用 gitbook 编译后公式显示为源码

解决办法:安装 mathjax 插件

  1. 关于 mathjax 突然不能用了

warning: 对于这个问题我并没有弄清楚原理,稀里糊涂就解决了,大家谨慎观看

刚一开始我想在 gitbook 中使用 mathjax 写数学公式,但是按照网上的步骤

首先要有 node.js 环境

根目录创建 book.json 文件

内容为 {plugins: ["mathjax"];}

然后根目录执行 gitbook install./

那么我出现的问题是下载不下来,也许是真的需要多等一会,但是我是个急性子,直接 Google,发现一篇文章:https://www.aiyc.top/1979.html

gitbook 官方已不再维护插件,mathjax 由于关闭了 cdn 而导致 gitbook 的 mathjax 的官方镜像出问题了。
因此在这里写了一个插件 gitbook-plugin-mathjax-pro
  • npm install mathjax@2.7.7
  • 接着在 book.json 中引入:
{
    "plugins": ["mathjax-pro"]
}
  • 最后安装:gitbook install ./

虽然这次成功了,但是当我对第二个 book 使用同样的方式时,下载成功了,但是生成 book 的时候却报错了:

Error with plugin “mathjax-pro”: Cannot find module 'mathjax/unpacked/MathJax

继续查,这次上百度,找到了这篇文章:https://zhuanlan.zhihu.com/p/125577482

在生成 pdf 或者生成网页时,mathjax 会报错,一般出现在新安装 mathjax 或者更新 mathjax 后,解决办法为,为 mathjax 降级,安装 2.7.6版本
npm install mathjax@2.7.6

然后我就稀里糊涂地直接在根目录下执行 npm install mathjax@2.7.6

然后继续 gitbook serve

markdown 里的内容是这样的:

## 3. 子查询的分类
+ **IN / NOT IN** 子查询;
+ $$\theta -Some / \theta-All$$ 子查询;
+ **EXISTS / NOT EXISTS** 子查询;

结果很完美:

gitbook的入坑之路

3. 问题:安装 mathjax 失败

PluginError: Error with plugin "mathjax-pro": Cannot find module 'mathjax/unpacked/MathJax'

解决办法:先安装mathjax@2.7.6

同上!

4. 问题:安装报错

npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\username\package.json'

解决办法:先执行命名 npm init

npm WARN saveError ENOENT: no such file or directory 解决

安装完成 node.js 后使用 npm 安装 vue 报错如下:

C:\Users\lxz>npm uninstall vueWcsp
npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\lxz\package.json'
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\lxz\package.json'
npm WARN lxz No description
npm WARN lxz No repository field.
npm WARN lxz No README data
npm WARN lxz No license field.
 
 
up to date in 0.765s

根据错误提示,是系统没有 ‘package.json’ 这个文件导致。这个文件的作用就是管理你本地安装的 npm 包,一个 package.json 文件可以做如下事情:

展示项目所依赖的 npm 包

允许你指定一个包的版本[范围]

让你建立起稳定,意味着你可以更好的与其他开发者共享

此刻我们需要执行命令:

npm init

创建 package.json 文件,系统会提示相关配置,也可以使用命令:

npm init -y

直接创建 package.json 文件,这样创建好处是必填项已经帮你填好,执行完命令后可以看到用户路径下多了一个 package.json 文件。

关于 gitbook 我更多文章:

  1. http://www.chengweiyang.cn/gitbook/index.html
  2. http://note.heifahaizei.com/book/
  3. https://juejin.cn/post/6931225754264928269
  4. https://chrisniael.gitbooks.io/gitbook-documentation/content/
  5. https://yangjh.oschina.io/gitbook/faq/Plugins.html 有测验功能教程
  6. https://learn-gitbook.gitbook.io/gitbook/
  7. https://allen5183.gitbooks.io/gitbook/content/plugins/quizzes/introduce.html 搭配 5
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。QQ、微信在线,随时响应!V:Jiabcdefh

gitbook的入坑之路

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
墨冰 墨冰
4年前
最方便的git教程使用大全,让你玩转git!!!
本篇是介绍廖雪峰老师官方网站中Git教程的学习笔记我感觉可以学到很多东西,可以使你简单上手,也可以供你复习时候使用。每个开发都可以从master上克隆一个本地版本库,就算没有网络,也可以提交代码到本地仓库、查看log、创建项目分支等等每个版本库都可以创建无限个分支,分支是个完整的目录,且这个目录拥有完整的实际文件一、安装网上搜一下安装教程,这里就不介绍了安
Wesley13 Wesley13
3年前
Activiti 工作流入门指南
<divclass"htmledit\_views"id"content\_views"<h1<aname"t0"</a概览</h1<p如我们的介绍部分所述,Activiti目前分为两大类:</p<ul<li<p<ahref"https://activiti.gitbook.io/activiti7deve
Stella981 Stella981
3年前
Gitbook
GitbookExtGitBook是一个基于Node.js的命令行工具,可使用Github/Git和Markdown来制作精美的电子书,GitBook并非关于Git的教程。GitBook提供的的默认样式可能不能满足您的视觉需求,GitbookExt是对GitBook的扩展,并陆续会提供一些更丰富的模板
Wesley13 Wesley13
3年前
Oracle 19c 之 RPM 包安装初体验(一)
!(https://oscimg.oschina.net/oscnet/73fd8642b7364f1de2863b0ceb5f35321b0.gif)作者|JiekeXu来源| JiekeXu之路(ID:JiekeXu\_IT)转载请联系授权| (微信ID:xxq1426321293)大家好,我是JiekeXu,
Stella981 Stella981
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Easter79 Easter79
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Stella981 Stella981
3年前
Docker + Django 一周踩坑记
    鉴于是公司的项目,项目源码不好公开,就专门讲踩坑的经历好了,我以前没有接触过docker,一直以为它是个轻量化的虚拟机,但在看了《docker从入门到实践》(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.gitbook.com%2Fbook%2Fyeasy%2Fd
Stella981 Stella981
3年前
Linux日志安全分析技巧
0x00前言我正在整理一个项目,收集和汇总了一些应急响应案例(不断更新中)。GitHub地址:https://github.com/Bypass007/EmergencyResponseNotes本文主要介绍Linux日志分析的技巧,更多详细信息请访问Github地址,欢迎Star。0x01日志简介Lin
Wesley13 Wesley13
3年前
Oracle 11g 临时表空间管理
!(https://oscimg.oschina.net/oscnet/0b25083732234ac49faeeae768ad90f5.gif)作者|JiekeXu来源| JiekeXu之路(ID:JiekeXu\_IT)转载请联系授权| (微信ID:xxq1426321293)大家好,我是JiekeXu