携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,点击查看活动详情
Gitbook可以用来制作在线电子文档,操作起来非常方便。配合git可以搭建一个企业用的再线文档工具。开发者只需要通过Typora等工具将编辑好的marcdown格式的文档上传到git即可。gitbook安装过程如下:
1.node.js安装
安装gitbook首先需要安装node.js环境。node.js下载地址:nodejs.org/en/download…
选择对应的版本上传到服务器。
node-v16.16.0-linux-x64.tar.xz
注意:如果node版本过高会导致gitbook失败,请使用如下版本。
node-v12.22.12-linux-x64.tar.xz
服务器上操作如下:
[root@mv161p120 software]# ls
node-v16.16.0-linux-x64.tar.xz
# xz解压为tar格式
[root@mv161p120 software]# xz -d /opt/software/node-v12.22.12-linux-x64.tar.xz
[root@mv161p120 software]# ls
node-v16.16.0-linux-x64.tar
[root@mv161p120 software]# cd /opt/
# tar 解压
[root@mv161p120 opt]# tar -xvf /opt/software/node-v12.22.12-linux-x64.tar
[root@mv161p120 opt]# ls
node-v16.16.0-linux-x64 software
解压之后存在/opt目录中。 建立软链接:
[root@mv161p120 opt]# ln -s /opt/node-v12.22.12-linux-x64 /opt/node
修改/etc/profile文件:
[root@mv161p120 opt]# vim /etc/profile
在文件莫问添加如下2行内容:
export NODE_HOME=/opt/node
export PATH=$PATH:$NODE_HOME/bin
配置环境变量后,执行该命令使环境变量生效:
[root@mv161p120 opt]# source /etc/profile
之后执行npm命令:
[root@mv161p120 lib]# node -v
12.22.12
[root@mv161p120 lib]# npm -v
8.11.0
说明node环境安装成功。 npm升级:
[root@mv161p120 opt]# npm install -g npm@8.15.1
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
changed 35 packages, and audited 202 packages in 6s
11 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
[root@mv161p120 opt]# npm -version
8.15.1
将npm升级到8.15.1
2.其他依赖软件
通过yum升级系统软件:
[root@mv161p120 opt]# yum -y install gcc openssl-devel gcc-c++ compat-gcc-34 compat-gcc-34-c++
3. 安装gitbook
安装过程:
[root@mv161p120 node]# npm install -g gitbook-cli
/opt/node-v12.22.12-linux-x64/bin/gitbook -> /opt/node-v12.22.12-linux-x64/lib/node_modules/gitbook-cli/bin/gitbook.js
+ gitbook-cli@2.3.2
added 578 packages from 672 contributors in 38.573s
[root@mv161p120 node]# gitbook -V
CLI version: 2.3.2
GitBook version: 3.2.3
# 之后执行gitbook -V 自动安装gitbook
4.遇到的错误
4.1 gitbook安装顺序问题
对于gitbook,通过npm安装,不要先安装gitbook。这样会导致gitbook-cli无法安装。 正确的顺序是先安装gitbook-cli,之后执行gitbook 命令的时候会自动安装gitbook。 如果先安装gitbook,之后再安装gitbook-cli会出现如下错误:
[root@mv161p120 opt]# npm install -g gitbook-cli
npm ERR! code EEXIST
npm ERR! path /opt/node-v16.16.0-linux-x64/bin/gitbook
npm ERR! EEXIST: file already exists
npm ERR! File exists: /opt/node-v16.16.0-linux-x64/bin/gitbook
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-08-03T09_02_07_857Z-debug-0.log
[root@mv161p120 opt]#
执行gitbook -v的时候会提示:
[root@mv161p120 bin]# gitbook -V
You need to install "gitbook-cli" to have access to the gitbook command anywhere on your system.
If you've installed this package globally, you need to uninstall it.
>> Run "npm uninstall -g gitbook" then "npm install -g gitbook-cli"
需要先将gitbook uninstall之后再安装gitbook-cli。
4.2 版本过高提升cb.apply问题
在执行了gitbook -V命令之后会自动安装gitbook,但是由于node的版本过高,这个地方会导致出现问题:
[root@mv161p120 bin]# gitbook -V
CLI version: 2.3.2
Installing GitBook 3.2.3
/opt/node-v16.16.0-linux-x64/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287
if (cb) cb.apply(this, arguments)
^
TypeError: cb.apply is not a function
at /opt/node-v16.16.0-linux-x64/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287:18
at FSReqCallback.oncomplete (node:fs:199:5)
[root@mv161p120 bin]#
解决这个问题的办法很简单:
[root@mv161p120 bin]# vim /opt/node-v16.16.0-linux-x64/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js
vim这个文件,然后将出错的地方注释即可:
将62-64行进行注释。
之后再次执行即可成功。
4.3 gitbook init出现错误
gitbook init出现错误
[root@mv161p120 frontend-technical-manual]# gitbook init
warn: no summary file in this book
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
[root@mv161p120 frontend-technical-manual]#
出现这个错误的原因是node的版本过高。需要降级,降级到了稳定版本 12即可。