提问者:小点点

Gitbook-cli安装错误类型错误:cb.apply不是graceful-fs内部的函数


在终端中执行任何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依赖关系而失败。

有办法解决这个问题吗?


共1个答案

匿名用户

这个问题最初是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。它应该已经修复了安装问题。