在终端中执行任何Gitbook
命令时,都会引发以下错误:
/home/travis/.nvm/versions/node/v12.18.3/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 /home/travis/.nvm/versions/node/v12.18.3/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287:18
at FSReqCallback.oncomplete (fs.js:169:5)
注意:这种情况在节点版本V12.18.2中不会发生,在版本V14.6.0中仍然会发生
gitbook-cli
现在似乎无法工作,因为它们过时的graceful-fs
依赖关系而失败。
有办法解决这个问题吗?
这个问题最初是graceful-fs
内部的问题,但我相信他们在这次提交中解决了它。
问题是GitBook仍然在使用过时的依赖项,这些依赖项在没有修复的情况下引入graceful-fs版本。
我找到的解决方案是像这样更新gitbook内部的graceful-fs
:
如果您已经通过npm install-g gitbook-cli
全局安装了gitbook,那么您在macOS中的路径应该类似于/usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules
。您的路径可能不同,取决于您的操作系统或安装位置。
运行以下内容:
cd /usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/
npm install graceful-fs@latest --save
然后尝试安装Gitbook。它应该已经修复了安装问题。