mac搭gitbook的安装以及那些坑那些坑

0x00 起源

从github上边下载了PeiQi文库来着,想在本地搭起来,然后就开始了排坑之旅。网上找的博客一个个都好像命令大全,虽然我的也可能写成命令大全吧,但是我安装环境遇到的坑,也差不多跟命令行差不多多了。

0x01 安装nodejs

官网地址在此https://nodejs.org/en/官网推荐的版本是14.17.6,但是由于在后边gitbook build的时候一直报错,所以我自己又换了12.22.6的版本。下载链接在这https://nodejs.org/dist/latest-v12.x/pkg结尾。
如果你遇到了跟我一样的状况,需要先卸载高版本再安装低版本,卸载nodejs的命令是
sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

安装完成检查
npm -v

0x02 安装gitbook

gitbook是在安装过npm之后才能安装的,需要sudo权限

sudo npm install gitbook -g
sudo npm install -g gitbook-cli
在这步安装可能会出现很多warning,但是最后有Added packages这种显示一般来说问题不大。(个人拙见)

检查是否安装成功,V一定要大写
gitbook -V
查看安装位置
which gitbook

0x03 gitbook的使用

可以新建一个目录然后打开目录
mkdir mygitbook && cd mygitbook

初始化

gitbook init

他会初始一个README.md和一个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
出现这个报错,就老老实实安装v12版本吧。

开始使用

PeiQi文库在github上下载下来的自带了README.md和SUMMARY.md,还有_book,直接复制下来粘贴到mygitbook目录里就可以啦

还有两个命令,
编写 gitbook 内容,重新编译:
gitbook build
启动服务:
gitbook serve
正常来讲到这里就能在http://localhost:4000页面下看了,但是如果你遇到了这个报错

Error: EPERM: operation not permitted

百度搜到的都说要用管理员权限打开,切换命令是su root, 如果没有设置过密码设置一个就可以,到了.sh的界面要记得切到mygitbook目录下再输gitbook serve,就能够开启服务啦。
哦对了,这里可能还会出现一个报错:

TypeError: cb.apply is not a function
    at /usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287:18

不要慌,切到这个目录下,sudo打开这个js文件,在他的60多行的位置,把这三行注释掉


0x04 其他

关于一些其他的报错,根据报错输一些命令就好啦,不行就重新

sudo npm uninstall gitbook -g
sudo npm install gitbook-cli -g

需要更新npm就更新,需要安装plugins就安装,需要--force覆盖也不要手软,嗯,应该没啥了。
如果在初始化或者build的时候遇到端口占用的情况,请参考:

查询端口PID
sudo lsof -i :35729
结束进程
kill -9 4001(PID)

你可能感兴趣的:(mac搭gitbook的安装以及那些坑那些坑)