Windows上装linux与osx,Linux、macOS和Windows三大系统如何安装gitbook—gitbook系列一

Tips:任何技术文章都有时效性,《从0到1手动打造移动广告归因系统》系列会尽力提供技术背景和环境,还请参考前务必看清文章发布时间,以免产生误导

量U移动归因的技术文档采用 gitbook 工具写成,这篇文章将介绍如何在 CentOS、Windows 和 macOS下安装 gitbook 这款写书工具

CentOS

macOS

Windows

CentOS 下安装

CentOS 8.2 及以上

截止当前(2021年5月份),CentOS 7.9 之前版本的官方源均已失效,意味着无法再使用 yum 命令进行在线软件安装,从而对 gitbook 的安装过程造成一些障碍。故这里使用CentOS 8.2做演示,理论上 CentOS 7.9 也可用,但需要自行验证

安装 nodejs

目前 nodejs官网下载 LTS版本为14.16.1,内置的npm包管理器版本为 6.14.12

如果你的CPU是 intel x86_64 位架构,选择 Linux Binaries (x64) 进行下载,如果系统为32位,那么很可能会安装失败

如果你的CPU是 ARM 架构,选择 Linux Binaries (ARM) 对应的版本进行下载

d3c6f7046a71

官网下载.png

将下载文件移动到 root 目录下,然后右键点击解开压缩包到当前目录,当然不一定要在 root 目录下进行,可以根据需要更改。如果你不是 root 用户,那就移动到 /home/{登录名} 的家目录下,然后进入到解开的 node-v14.16.1-linux-x64/bin 目录,并在这个 bin 目录下打开 shell 窗口

d3c6f7046a71

下载nodejs.png

安装文件准备就绪,设置软链接进行安装

//root用户

ln -s /root/node-v14.16.1-linux-x64/bin/node /usr/bin/node

ln -s /root/node-v14.16.1-linux-x64/bin/npm /usr/bin/npm

//非root用户

ln -s /home/登录名/node-v14.16.1-linux-x64/bin/node /usr/bin/node

ln -s /home/登录名/node-v14.16.1-linux-x64/bin/npm /usr/bin/npm

这里的安装其实就是在 /usr/bin 下设置了两条软链接指向下载好的nodejs安装文件,因为 /usr/bin 目录已经是系统默认环境变量的二进制执行目录,所以不需要再额外修改环境变量就可以直接在shell窗口中执行 node 和 npm 命令

d3c6f7046a71

安装nodejs.png

开始安装 gitbook-cli

npm install -g gitbook-cli // -g 为全局安装选项

安装完成后可以看到当前目录下多了一个gitbook文件

d3c6f7046a71

安装gitbook-cli.png

gitbook-cli 安装完成后开始安装 gitbook,这是两个不同的东西,然后网上有些帖子说是要执行

npm install -g gitbook //error 会报错

但实际上并不能安装成功

d3c6f7046a71

error.png

猜测是某些库跟当前 nodejs 版本不兼容

正确的安装方式

ln -s /root/node-v14.16.1-linux-x64/bin/gitbook /usr/bin/gitbook //设置gitbook-cli的软链接

gitbook -V //再查询gitbook-cli的版本 注意这里是大写V 然后会自动触发 gitbook 3.2.3的安装

d3c6f7046a71

安装gitbook报错.png

会出现一个错误,但不要紧,后面会讲怎么修复这个错误,之所以会出现这个错误,是因为 gitbook 3.2.3的版本跟nodejs 14.16.1 不兼容,据说需要 nodejs 降级为 10.23.0,这里不再去进行验证。总之,gitbook的安装条件很苛刻,这篇文章的目的并不是找出这些兼容性的搭配,而是快速找到一种完美可重现的方法供大家使用,大大减少大家在安装上的试错成本,从而将大量的时间和精力投入到真正有意义的工作上。

我们来修复这个 cb.apply 报错

//根据提示路径打开这个 polyfills_js 文件 说实在的这个路径结构有点迷

vim /root/node-v14.16.1-linux-x64/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js

使用:set number打开行号显示,注释掉62-64行,这几行是对低版本的兼容,因为不需要再做兼容,所以我们将其注释掉(这里不拘泥于vim编辑,任何一种文本编辑器打开这个js文件都可以)

:wq保存之后,再执行 gitbook -V,安装成功

d3c6f7046a71

注释掉三行.png

d3c6f7046a71

安装gitbook3.2.3成功.png

开始进入正题,启动gitbook

不要贸然相信网上所说的初始化

[root@localhost bin]# 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

这个时候并没有完全初始化成功,而只是在当前目录下生成了一个 README.md 文件

手写 SUMMARY.md 和 README.md两个文件或者git clone 网上的空白模板

mkdir book //新建一个 book 目录

cd ./book //进入 book 目录

touch SUMMARY.md

touch README.md

gitbook serve ./ //启动 gitbook

启动成功,打开浏览器 localhost:4000 进行查看,此后就是按照 markdown 语法编写 SUMMARY.md 和 README.md这两个文件,再额外添加章节md文件来愉快地进行写书了

[root@localhost book]# gitbook serve ./

Live reload server started on port: 35729

Press CTRL+C to quit ...

info: 7 plugins are installed

info: loading plugin "livereload"... OK

info: loading plugin "highlight"... OK

info: loading plugin "search"... OK

info: loading plugin "lunr"... OK

info: loading plugin "sharing"... OK

info: loading plugin "fontsettings"... OK

info: loading plugin "theme-default"... OK

info: found 1 pages

info: found 0 asset files

info: >> generation finished with success in 0.2s !

Starting server ...

Serving book on http://localhost:4000

d3c6f7046a71

启动成功.png

macOS 下安装

macOS Big Sur 11.2.3及以上

d3c6f7046a71

nodejs官网首页.jpeg

nodejs官网首页会跟随你的系统自动显示对应的安装文件

macOS下载的是node-v14.16.1.pkg文件,直接双击文件进行安装

d3c6f7046a71

安装界面.png

安装对话框里也直接告诉你了node和npm的安装路径会在哪(/usr/local/bin)

安装完成后在终端里node和npm命令都显示可用

d3c6f7046a71

安装nodejs完成.png

然后使用下面的命令安装 gitbook-cli

sudo npm install -g gitbook-cli

注意:在macOS下一定要在前面加 sudo 否则会报错无法安装

gitbook-cli 安装完成后接下来和 CentOS 下一样,在终端输入

gitbook -V //注意V是大写

会自动安装 gitbook ,当然也会遇到和 CentOS 一样的报错

d3c6f7046a71

同样的错误.png

没关系,同样的错误同样的处理方法。不过在使用 vim 编辑的时候也要使用 sudo 权限

d3c6f7046a71

同样的处理.png

修改完这个文件后再次执行 gitbook -V 完成 gitbook 的安装

之后就和 CentOS 下的操作一样了

//在有 SUMMARY.md 和 README.md 两个文件的文件夹下执行

gitbook serve .

Windows 下安装

Windows 10

安装前需要做一些准备工作,你需要安装一款可以运行命令的终端,当然你也可以直接使用系统自带的cmd界面,这里使用的是 git-scm,安装完后鼠标右键点击桌面会多出两个 Git Gui Here 和 Git Bash Here 的菜单选项,选择 Git Bash Here 即可打开 shell 终端,其实这个 git-scm 真正的用途是一款 git 工具,不过这里就是借用了它的 shell 终端罢了

d3c6f7046a71

git-scm终端.png

和前面两款系统一样,Windows下nodejs官网也会跟随系统显示Windows下的安装文件 node-v14.16.1-x64.msi,下载下来后直接双击安装即可,安装过程中也可以选择安装路径

d3c6f7046a71

选择安装文件夹.png

和 macOS 一样,安装完成后 node 和 npm 命令直接在终端里可用,因为安装过程会自动添加环境变量

d3c6f7046a71

安装完成.png

然后安装 gitbook-cli 和 gitbook

npm install -g gitbook-cli

安装等待时间可能会有一点长,但最后还是能安装上的,等待总是值得的

d3c6f7046a71

需要等待.png

gitbook -V

等待时间还是很长,并且也会遇到 CentOS 和 macOS 下一样的错误

d3c6f7046a71

一样的错误.png

一样的错误就用一样的解决方法

根据错误提示的路径,找到这个 polyfills.js 文件,在 Windows下你要怎么打开这个文件就随意了,可以是记事本,也可以是任何一款代码编辑IDE

d3c6f7046a71

注释掉62-64行.png

保存后再次执行 gitbook -V

经过漫长等待,安装成功后在桌面新建一个 book 文件夹,然后在文件夹内手动新建两个空白文件 SUMMARY.md 和 README.md,在该文件夹的路径下启动 gitbook 就可以了

gitbook serve ./

d3c6f7046a71

成功启动gitbook.png

最后需要提醒的是需要注意你的 shell 终端打开的路径,就是终端标题栏那里,如果路径显示的是桌面,那么需要指定启动的文件夹是 book,启动命令如下

gitbook serve ./book

如果路径是在 book 文件夹内部,那么直接用命令 gitbook serve ./ 就好

祝大家写书愉快!

(完结)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值