Using fs.extra copyRecursive gives a "TypeError: forEachAsync is not a function" error and I can't fix it

Using fs.extra copyRecursive gives a "TypeError: forEachAsync is not a function" error and I can't fix it

我的代码是: http://pastebin.com/rCy4wSUK

一旦路由器调用此函数,它就会打印 "done copying contents of clean base into temp" 然后是这里的错误: http://pastebin.com/UxEu4PaS

所以至少它不是在复制时出错,而是导致它抛出此错误的原因。

听起来 fs.extra 模块没有完全安装并且缺少依赖项。你的代码 运行 对我来说很好 npm install fs.extra q

删除您的 node_modules 文件夹并重新 运行 npm install(如果您的依赖项在 package.json 中列出)或 npm install fs.extra q(如果它们不在).

我在需要依赖 forEachAsync@2.x 和 foreachasync@3.x 的不同版本 walk 的项目中的不区分大小写的文件系统上看到了这个问题。因为 foreachasync 的大小写而不是名称在不同版本之间发生了变化,看起来它可能会混淆 npm 并且没有正确安装正确的版本。

我能够通过显式依赖 foreachasync@^3.0.0 在我们的项目中解决这个问题。