gitbook的入坑之路

2024-03-11 23:20
文章标签 之路 gitbook

本文主要是介绍gitbook的入坑之路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

你好,我是悦创。

安装 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

产生了如下的报错:
在这里插入图片描述

产生这个报错的原因在于,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 += 0x100000000if (stats.gid < 0) stats.gid += 0x100000000if (cb) cb.apply(this, arguments)})}
}

这个函数的作用是用来修复 node.js 的一些 bug ,但是我就为了学个 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** 子查询;

结果很完美:

在这里插入图片描述

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的入坑之路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/799396

相关文章

Xiaojie雷达之路---雷达间干扰(二)置零法对干扰抑制

Hello,大家好,我是Xiaojie,欢迎大家能够和Xiaojie来一起学习毫米波雷达知识,本篇文章主要是介绍一下时域置零对雷达间干扰抑制的效果,一起来看看吧!!! 文章目录 前言正文原理性介绍代码 前言 在上一篇文章中介绍了BPM对雷达间干扰抑制的方法,而本篇文章是采用时域置零的方法进行雷达间干扰抑制 效果图: 视频如下: 雷达间干扰 正文

【解决bug之路】npm install node-sass(^4.14.1)连环报错解决!!!(Windows)

有关node-sass的深入分析可参考:又报gyp ERR!为什么有那么多人被node-sass 坑过? 主要有如下三方面错误,请自查: 1.node,npm版本需与node-sass版本匹配,像node-sass(^4.14.1)就得node 14.x版本才可以,node 16不行 gyp ERR! build error15 gyp ERR! stack Error: `

填坑之路-记录Redis操作的异常QueryTimeoutException RedisCommandTimeoutException: Command timed out after 1 min

默认配置 1.命令执行的默认超时时间为1分钟 2.默认的Lettuce集群配置里面才有命令执行超时时间,源码请看:LettuceConnectionFactory 3.修改命令超时时间,请手动修改配置构造器中的配置:LettucePoolingClientConfiguration.LettucePoolingClientConfigurationBuilder 中的setCommandTime

Java工程师成神之路 --一篇非常好的文章,让人获益匪浅!!!

一、基础篇 1.1 JVM 1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收 http://www.jcp.org/en/jsr/detail?id=133 http://ifeve.com/jmm-faq/ 1.1.2. 了解JVM各种参数及调优 1.1.3. 学习使用Java工具 jps, jstack, jmap, jconsole

新浪微博的破局之路

当新浪发布上年第四季度财务报表并宣告微博首度实现盈利的前后,关于新浪微博上市的消息又被外媒报道出来,为这个资本狂欢的多事之春添上了又一场分量不轻的戏码。 必须强调的是,财务报表的公开,并不意味着只有到了这一天,新浪才知晓微博已能取得盈利,相反,随着财务数字的每日更新,加上对于趋势的估测和判断,新浪在去年第四季度尚未结束时,应当就能预读微博的盈利结果。 但是新浪微博必须等待财务报表披露出来

IOS成长之路-检测耳机插入/拔出

导入苹果的两个框架是必不可少的环节。。。 代码部分+小解: [cpp]  view plain copy - (void)viewDidLoad   {       [super viewDidLoad];       // Do any additional setup after loading the view, typically from a

前端学习之路6-事件

文章目录 概念捕捉目标冒泡 命名事件函数事件监听 概念 一个事件的生命周期包括三个阶段:捕捉(capture)、目标(target)和冒泡(bubbling) 捕捉 当某个事件被触发时,浏览器会找出事件涉及的元素,它被称为该事件的目标。浏览器会找出body元素和目标之间的所有元素并分别检查它们,看看它们是否带有事件处理器且要求获得其后代元素触发事件的通知。浏览器会先触发这些事

前端学习之路5-DOM

文章目录 操作事件 全局变量document是浏览器为我们创建的关键对象之一。Document对象向你提供文档的整体信息,并让你能够访问模型里的各个对象。 DOM(Document Object Model,文档对象模型)允许我们用JavaScript来探查和操作HTML文档里的内容。这样就给用js动态修改ui界面提供了机会。 DOM功能的多变性。第一种方式是使用某个

前端学习之路13-CSS布局

文章目录 盒子模型盒类型浮动定位position层叠顺序多列布局弹性盒布局 table布局 盒子模型 CSS中的一个基本概念是盒模型(box model)。可见元素会在页面中占据一个矩形区域,该区域就是元素的盒子(box),由四部分组成 盒类型 将display属性设置为block值会创建一个块级元素。块级元素会在垂直方向跟周围元素有所区别。通常在元素前后放置换行符也能

前端学习之路12-CSS选择器

选择器 基本选择器 * :所有元素<元素类型>: 类型选择器类名: .class1id选择器: #id1属性选择器:[<条件>] ,[href] 复合选择器 并集选择器:由逗号分隔的多个选择器 a, span后代选择器:空格分隔 a span选择子元素: 子代选择器跟后代选择器很像,不过只选择匹配元素中的直接后代, > 分隔; body > * > span选择兄弟元素: <> + <