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) 对应的版本进行下载
    官网下载.png

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


下载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 命令


安装nodejs.png
  • 开始安装 gitbook-cli
npm install -g gitbook-cli // -g 为全局安装选项

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


安装gitbook-cli.png

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

npm install -g gitbook //error 会报错

但实际上并不能安装成功


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的安装
安装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,安装成功


注释掉三行.png

安装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
启动成功.png

macOS 下安装

macOS Big Sur 11.2.3及以上


nodejs官网首页.jpeg

nodejs官网首页会跟随你的系统自动显示对应的安装文件
macOS下载的是node-v14.16.1.pkg文件,直接双击文件进行安装


安装界面.png

安装对话框里也直接告诉你了node和npm的安装路径会在哪(/usr/local/bin)
安装完成后在终端里node和npm命令都显示可用
安装nodejs完成.png

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

sudo npm install -g gitbook-cli

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

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

gitbook -V //注意V是大写

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


同样的错误.png

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


同样的处理.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 终端罢了

git-scm终端.png

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

选择安装文件夹.png

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

然后安装 gitbook-cli 和 gitbook

npm install -g gitbook-cli

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


需要等待.png
gitbook -V

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


一样的错误.png

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


注释掉62-64行.png

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

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

gitbook serve ./book

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

祝大家写书愉快!
(完结)

你可能感兴趣的:(Linux、macOS和Windows三大系统如何安装gitbook—gitbook系列一)