Nodejs 16与 gitbook搭建属于你自己的书本网站-第一篇

最近想重新搭建一个网站来存放自己的相关知识点,并向网络公开,有个hexo博客其实也不错的,但是总感觉hexo很多花里胡哨的玩意,导致挂载的博客异常卡,这样反而不利于我自己回顾博客了,于是我就开始钻研这个鬼东西了,从安装到搭建也费力我一段时间,主要是不知道版本依赖,导致失败次数比较多,属于踩坑了。
废话不多说了,开始走起。

安装nodejs

这个不多说了,网上找资源一找一大片,学习Vue的脚手架的时候,这个玩意估计大家都玩过了,安装的时候一直next就行了。
在这里插入图片描述
这个是代表安装成功了,我的版本是V16左右,建议,你也选择16左右的,不然自己一个一个找版本,很烦人的。

安装gitbook

1.通过指令安装

我们在安装nodejs之后,打开控制台,输入(这个是最新版的)

npm install gitbook-cli -g

安装指定版本的

npm install gitbook-cli@2.1.2

安装gitbook

2.检查是否安装成功

gitbook -V

注意这一步主要是为了查看我们是否安装gitbook的依赖版本。
在这里插入图片描述

3.查看可以安装的版本

查看可以安装的版本

gitbook ls-remote

在这里插入图片描述

4.安装指定版本

注意我的是nodejs 16 安装的版本是 3.2.2,3.2.3这两个版本最佳,注意这一步安装很慢很慢,需要等待很久,我至少半个小时以上。
安装指定版本

gitbook fetch 3.2.3

日志如下:

$ gitbook fetch 3.2.3
Installing GitBook 3.2.3
gitbook@3.2.3 C:\Users\29283\AppData\Local\Temp\tmp-4331226wiW7x357C7\node_modules\gitbook
├── escape-string-regexp@1.0.5
├── escape-html@1.0.3
├── destroy@1.0.4
├── ignore@3.1.2
├── bash-color@0.0.4
├── gitbook-plugin-livereload@0.0.1
├── cp@0.2.0
├── nunjucks-do@1.0.0
├── graceful-fs@4.1.4
├── github-slugid@1.0.1
├── q@1.4.1
├── spawn-cmd@0.0.2
├── gitbook-plugin-fontsettings@2.0.0
├── is@3.3.0
├── open@0.0.5
├── direction@0.1.5
├── object-path@0.9.2
├── extend@3.0.2
├── json-schema-defaults@0.1.1
├── gitbook-plugin-search@2.2.1
├── jsonschema@1.1.0
├── crc@3.4.0
├── urijs@1.18.0
├── semver@5.1.0
├── immutable@3.8.2
├── front-matter@2.3.0
├── npmi@2.0.1 (semver@4.3.6)
├── resolve@1.1.7
├── gitbook-plugin-theme-default@1.0.7
├── moment@2.13.0
├── gitbook-plugin-sharing@1.0.2 (lodash@3.10.1)
├── i18n-t@1.0.1 (lodash@4.17.21)
├── npm@3.9.2
├── dom-serializer@0.1.0 (domelementtype@1.1.3, entities@1.1.2)
├── omit-keys@0.1.0 (isobject@0.2.0, array-difference@0.0.1)
├── error@7.0.2 (xtend@4.0.2, string-template@0.2.1)
├── tmp@0.0.28 (os-tmpdir@1.0.2)
├── mkdirp@0.5.1 (minimist@0.0.8)
├── gitbook-plugin-lunr@1.2.0 (html-entities@1.2.0, lunr@0.5.12)
├── gitbook-plugin-highlight@2.0.2 (highlight.js@9.2.0)
├── gitbook-markdown@1.3.2 (kramed-text-renderer@0.2.1, gitbook-html@1.3.3, kramed@0.5.6, lodash@4.17.21)
├── send@0.13.2 (range-parser@1.0.3, fresh@0.3.0, statuses@1.2.1, etag@1.7.0, ms@0.7.1, depd@1.1.2, debug@2.2.0, mime@1.3.4, http-errors@1.3.1, on-finished@2.3.0)
├── gitbook-asciidoc@1.2.2 (gitbook-html@1.3.3, lodash@4.17.21, asciidoctor.js@1.5.5-1)
├── js-yaml@3.14.1 (esprima@4.0.1, argparse@1.0.10)
├── rmdir@1.2.0 (node.flow@1.2.3)
├── fresh-require@1.0.3 (is-require@0.0.1, shallow-copy@0.0.1, astw@1.3.0, acorn@0.9.0, sleuth@0.1.1, through2@0.6.5, escodegen@1.14.3)
├── cheerio@0.20.0 (entities@1.1.2, lodash@4.17.21, htmlparser2@3.8.3, css-select@1.2.0, jsdom@7.2.2)
├── tiny-lr@0.2.1 (parseurl@1.3.3, livereload-js@2.4.0, qs@5.1.0, debug@2.2.0, faye-websocket@0.10.0, body-parser@1.14.2)
├── cpr@1.1.1 (rimraf@2.4.5)
├── request@2.72.0 (aws-sign2@0.6.0, tunnel-agent@0.4.3, forever-agent@0.6.1, oauth-sign@0.8.2, is-typedarray@1.0.0, caseless@0.11.0, stringstream@0.0.6, aws4@1.12.0, isstream@0.1.2, json-stringify-safe@5.0.1, tough-cookie@2.2.2, qs@6.1.2, node-uuid@1.4.8, combined-stream@1.0.8, mime-types@2.1.35, hawk@3.1.3, form-data@1.0.1, bl@1.1.2, http-signature@1.1.1, har-validator@2.0.6)
├── read-installed@4.0.3 (debuglog@1.0.1, util-extend@1.0.3, slide@1.1.6, readdir-scoped-modules@1.1.0, read-package-json@2.1.2)
├── juice@2.0.0 (deep-extend@0.4.2, slick@1.12.2, batch@0.5.3, cssom@0.3.1, commander@2.9.0, cross-spawn-async@2.2.5, web-resource-inliner@2.0.0)
├── chokidar@1.5.0 (path-is-absolute@1.0.1, async-each@1.0.6, inherits@2.0.4, glob-parent@2.0.0, is-glob@2.0.1, is-binary-path@1.0.1, anymatch@1.3.2, readdirp@2.2.1)
└── nunjucks@2.5.2 (asap@2.0.6, yargs@3.32.0, chokidar@1.7.0)

5.查看安装的gitbook版本

gitbook ls

日志如下:

$ gitbook ls
GitBook Versions Installed:

    * 3.2.3
Run "gitbook update" to update to the latest version.

6.初始化文件,注意这一步有个大坑,很大的坑

gitbook init

不出意外你会碰到一个这样的错误。跟着我来,咱们解决这个问题。

$ gitbook init
warn: no summary file in this book
info: create README.md
info: create SUMMARY.md

TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of Promise

这个问题需要我们修改js文件,也就是C:\Users\29283\.gitbook\versions\3.2.3\lib下的init.js文件.

替换的代码:

return summary.toText(extension).then(stx=>{return fs.writeFile(filePath, stx);})

在这里插入图片描述
OK,我们再次执行相关代码;

gitbook init

如下,代表成功了,可以开始写文档了。

$ gitbook init
warn: no summary file in this book
info: create SUMMARY.md
info: initialization is finished

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/499263.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android逆向-数据修改逻辑修改视图修改

目录 0x00 相关工具及环境 0x01 APP逆向 - 数据修改 0x02 APP逆向 - 逻辑修改 0x03 APP逆向 - 视图修改 希望和各位大佬一起学习,如果文章内容有错请多多指正,谢谢! 个人博客链接:CH4SER的个人BLOG – Welcome To Ch4sers B…

Git Fork后的仓库内容和原仓库保持一致

Git Fork后的仓库内容和原仓库保持一致 ①Fork原仓库内容到自己仓库 ②将项目内容下载到本地 ③使用git命令获取原仓库内容,将原仓库的最新内容合并到自己的分支上并推送 下面从第三步开始演示~ 这里以码云上的若依项目为演示项目 ③使用git命令获取原仓库内容 …

什么裤型的裤子最百搭?男生比较好看的裤子品牌分享

很多男生每隔一段都会选择一些新的裤子,但是现在市面上的裤子种类和风格太多,并且有不少材质劣质、细节设计差的品牌混杂在其中,大家一不小心就选到质量不好的裤子。 所以如何选择到合适、质量好的裤子确实是一个让人头疼的问题,…

AcWing 4609:火柴棍数字 ← 贪心算法

【题目来源】 https://www.acwing.com/problem/content/4612/【题目描述】 给定 n 个火柴棍,你可以用它们摆出数字 0∼9。 摆出每个数字所需要的具体火柴棍数量如下图所示: 请你用这些火柴棍摆成若干个数字,并把这些数字排成一排组成一个整数…

Netty学习——源码篇5 EventLoop 备份

1 Reactor线程模型 Reactor线程模型 中对Reactor的三种线程模型——单线程模型、多线程模型、主从多线程模型做了介绍,这里具体分析Reactor在Netty中的应用。 1.1单线程模型 单线程模型处理流程如下图: 单线程模型,即Accept的处理和Handler…

(科研篇)如何做科研

1.科研周期: 2.CCF列表 1.搜索论文(顶会) 2.谷歌学术检索 3.如何阅读文献 最重要的部分是abstract introduction 和related work,要明白某个东西的历史,从而进一步发现的缺陷,然后通过实现实验去证明。 通…

HubSpot出海CRM的团队协作与流程优化

在数字化营销日益盛行的今天,团队协作与流程优化已成为企业获取竞争优势的关键因素。HubSpot出海CRM不仅提供了强大的客户管理工具,更在团队协作与流程优化方面展现出卓越的能力。 一、团队协作在营销中的重要性 团队协作在营销中的重要性不言而喻。一…

光伏智慧管理平台:全周期全流程光伏业务管理

随着光伏技术的快速发展和光伏电站规模的不断扩大,光伏业务的管理变得越来越复杂。为了提高管理效率、降低运营成本并提升光伏电站的运行效益,光伏智慧管理平台应运而生。本文将重点介绍光伏智慧管理平台的功能及其在全周期全流程光伏业务管理中的应用。…

最长有效括号(C语言)

题目链接:. - 力扣(LeetCode) 这道题,我看了一种解法,觉得很好,来分享一下 这道题主要是 思考 当前 ) 与之匹配 ( 在哪里 ,记录下来,最后比较最大值 例子: 第…

浅谈 kafka

引言 同事在公司内部分享了关于 kafka 技术一些相关的内容,所以有了这篇文章;部分图片选自网络摘抄; 1 Kafka概述 1.1 定义 Kafka传统定义:kafka是一个分布式的基于发布/订阅模式的消息队列。 Kafka最新定义:kafka…

【Frida】【Android】05_Objection实战

🛫 系列文章导航 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446【Frida】【Android】03_RPC https://bl…

Kibana操作Elasticsearch教程

文章目录 简介ES文档操作创建索引查看索引创建映射字段查看映射关系字段属性详解typeindexstore 字段映射设置流程 新增数据新增会随机生成id新增自定义id智能判断 修改数据删除数据查询基本查询查询所有(match_all)匹配查询多字段查询词条匹配多词条精确…

HarmonyOS 应用开发之创建PageAbility

开发者需要重写app.js/app.ets中的生命周期回调函数,开发者通过DevEco Studio开发平台创建PageAbility时,DevEco Studio会在app.js/app.ets中默认生成onCreate()和onDestroy()方法,其他方法需要开发者自行实现。接口说明参见前述章节&#xf…

maven 依赖机制

安全工程师为啥关注maven依赖 log 4j事件之后,大家开始更加关注开源组件安全漏洞这个事。纷纷引入SCA 软件成分分析工具来识别项目中存在的开源组件和漏洞。 在sca工具扫描之后,会报出一大堆组件,review这个事就是安全团队投入时间来研判了…

【Linux多线程】线程的同步与互斥

【Linux多线程】线程的同步与互斥 目录 【Linux多线程】线程的同步与互斥分离线程Linux线程互斥进程线程间的互斥相关背景概念问题产生的原因: 互斥量mutex互斥量的接口互斥量实现原理探究对锁进行封装(C11lockguard锁) 可重入VS线程安全概念常见的线程不安全的情况…

是谁?阻止CXL在AI场景大展身手~

CXL虽然被视为业内新宠,但好像在AI场景的应用反而没有得到广泛的响应。 AI场景对内存带宽、容量以及数据一致性有着极高需求,特别是在深度学习训练和推理过程中,大量数据需要在CPU、GPU、加速器以及内存之间快速、高效地流动。CXL作为一种新…

Java基础入门day24

day24 abstract 抽象:似是而非,像又不是,具备某种对象的特征,但不完整 生活中的抽象:动物,并不真实存在的事物 程序中的抽象:不应该被创建的对象,动物近视一种会吃会睡的对象&#…

Netty核心原理剖析与RPC实践16-20

Netty核心原理剖析与RPC实践16-20 16 IO 加速:与众不同的 Netty 零拷贝技术 今天的课程我们继续讨论 Netty 实现高性能的另一个高阶特性——零拷贝。零拷贝是一个耳熟能详的词语,在 Linux、Kafka、RocketMQ 等知名的产品中都有使用,通常用于…

【单调栈】力扣84.柱状图中最大的矩形

上篇文章我们介绍了使用 无重复值 单调栈代码解决 含有重复值 的问题,在文章的最后,留下了一道考察相同思想的题目,今天我们来看看如何套路解决该题。 (还没看过前几篇介绍的小伙伴赶快关注,在 「单调栈」 集合里查看…

通过node 后端实现颜色窃贼 (取出某个图片的主体rgb颜色 )

1.需求 我前端轮播图的背景色 想通过每一张轮播图片的颜色作为背景色 这样的话 需要通过一张图片 取出图片的颜色 这个工作通过前端去处理 也可以通过后端去处理 前端我试了试 color-thief 的插件 但是 这个插件是基于canvas 的模式来的 我需要在小程序中使用这个插件 而且是…