如何修復在使用GitBook時出現的「cb.apply is not a function」錯誤
我經常使用 GitBook,這是一個小型的 Node.js 軟體,用於從一組 Markdown 檔案生成電子書。 我用它來製作我的電子書。今天在運行 gitbook pdf . 生成 PDF 時,我遇到了一個非常奇怪的錯誤: ➜ ebook git:(master) ✗ gitbook pdf . /usr/local/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 /usr/local/lib/node\_modules/gitbook-cli/node\_modules/npm/node\_modules/graceful-fs/polyfills.js:287:18 cb.apply is not a function。這句話什麼意思?更重要的是,為什麼我現在出現這個錯誤?我最近沒有更新 gitbook 套件,也沒有…哦,我記得我更新了我運行的 Node.js 版本。但是我不知道為什麼這可能是問題所在。也許是吧。 不管怎樣…這個錯誤來自 /usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js 文件。這是 graceful-js npm 套件,一個「為內建的 Node.js fs 模塊提供各種改進的替代方案」,每周安裝超過 3300 萬次。 其中一個改進似乎破壞了我的工作流程,就是今天! 我沒有太多時間去找出為什麼我的 Node.js 版本會導致這個我沒有創建的應用程序和這個庫出現問題。 我打開了 /usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js 文件,這就是錯誤的來源。 這是引起問題的函數: function statFix (orig) { if (!orig) return orig // 較早版本的 Node....