一,使用gitbook init时,卡在了Installing GitBook 3.2.3这一步
解决办法:
一,翻墙
二,使用淘宝镜像下载:
npm下载路径,检查是不是淘宝镜像:
npm config get registrynpm config set registry https://registry.npm.taobao.org
切换成淘宝镜像
再检查是不是淘宝镜像:
npm config get registry
再安装:
gitbook init
之前是一直卡在这里,我打了三局王者荣耀都没好!!设置之后,打了一局,回头一看,就出来了!
但是报错了!!!但这又是另一个悲伤的故事。。。
二,if (cb) cb.apply(this, arguments),cb.apply is not a function
产生了如下的报错:
产生这个报错的原因在于,nodejs的版本不对,不支持这个gitbook.
有两个解决办法:
一,切换nodejs的版本:
切换成nodejs的v10.21.0版本就会成功。
当然啦,在这里,我又接触到了新的知识!因为nodejs的版本很多,所以,就有nodejs的版本控制工具,可以方便地切换版本!
这是这个方法的博客地址,里面有v10.21.0版本的nodejs下载:
https://blog.csdn.net/Lowerce/article/details/107579261
二,第二个方法呢,就更方便且不要脸了,就是把报错的代码注释掉!
直接打开报错的文件:
C:\Users\Administrator\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm\node_modules\graceful-fs\polyfills.js
错误的位置在代码的第287行,就是这个死乞白赖的函数!!!
function statFix (orig) {if (!orig) return orig// Older versions of Node erroneously returned signed integers for// uid + gid.return function (target, cb) {return orig.call(fs, target, function (er, stats) {if (!stats) return cb.apply(this, arguments)if (stats.uid < 0) stats.uid += 0x100000000if (stats.gid < 0) stats.gid += 0x100000000if (cb) cb.apply(this, arguments)})}
}
这个函数的作用是用来修复node.js的一些bug,但是我就为了学个gitbook,没必要难为我自己!
所以,我就找到这个函数的调用:
就成这样子啦!嘿嘿~
现在是夜里,隔壁的两个小姑娘估计在看电影,网速不是很快,我又等了十来分钟,就完成啦!!
完结!撒花花!啦啦啦!!!