Javascript 他给了我一句话;TypeError:回调[i]不是函数;当我;ng serve“;

Javascript 他给了我一句话;TypeError:回调[i]不是函数;当我;ng serve“;,javascript,angular,npm,angular-cli,Javascript,Angular,Npm,Angular Cli,我只是重新安装了Angular CLI以进行试用,对于命令行上出现以下错误的原因我一无所知: PC:cobros Fran$ ng serve ** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ ** 95% emitting/Users/Fran/Documents/Workspace/Repos/cobros/node_mo

我只是重新安装了Angular CLI以进行试用,对于命令行上出现以下错误的原因我一无所知:

    PC:cobros Fran$ ng serve
** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
 95% emitting/Users/Fran/Documents/Workspace/Repos/cobros/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:40
        callbacks[i](err, result);
                    ^

TypeError: callbacks[i] is not a function
    at Storage.finished (/Users/Fran/Documents/Workspace/Repos/cobros/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:40:15)
    at /Users/Fran/Documents/Workspace/Repos/cobros/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:77:9
    at /Users/Fran/Documents/Workspace/Repos/cobros/node_modules/graceful-fs/polyfills.js:287:18
    at FSReqWrap.oncomplete (fs.js:153:5)
这是我尝试“ng-v”时返回的信息(以防有用):

“增强解析”模块甚至可以做什么?
我安装错了吗?我按照中的说明进行操作,并确保满足了先决条件。

尝试卸载并重新安装Angular CLI:

全球方案:

npm卸载-g@angular/cli
npm缓存清理
如果npm版本>5,则使用
npm缓存验证
以避免错误(或避免使用--force)
npm安装-g@angular/cli@latest

本地项目包:

rm-rf node_modules dist#在Windows命令提示符下使用rmdir/S/Q node_modules dist;在Windows PowerShell中使用rm-r-fo节点_模块,dist
npm安装--保存dev@angular/cli@latest

npm安装

编辑:问题现已解决,因此无需再使用此解决方法


@angular/cli
升级到
1.6.8
后发生

解决方案:问题在于
复制网页包插件
()
npm我复制网页包-plugin@4.3.1--保存开发人员
帮助


注意:之前提供的解决方案是将cli降级到1.6.7,这没有帮助。

遵循github.com/angular/angular-cli/issues/9550(感谢@oers在评论中提供的链接)

我刚刚将Anuglar CLI降级为1.6.7版

要这样做,只需键入

npm卸载-g@angular/cli

一旦它完成安装以前的版本

npm安装-g@angular/cli@1.6.7

注意:这将起作用,但这只是一个临时解决方案,他们可能——希望如此——对此进行了热修复

编辑:事实上,我尝试了一个错误的项目,该项目没有使用CLI,再试了一次,但它不起作用。如果您遵循github线程,它看起来很重要,因为它不适用于CLI 1.5.x或1.6.x(没有尝试其他项目)。看起来我们唯一能做的就是调试或者静坐等待


哎呀

编辑:该问题现已修复,因此无需再使用此解决方法


找到解决方案(解决方案)

将“复制网页包插件”:“4.3.0”添加到您的package.json


谢谢@neshkatrapati

我也有同样的问题,这个命令为我创造了奇迹

npm install copy-webpack-plugin@4.3.1
正如这里所说,这是一个复制网页插件的问题


这可以通过执行
npm安装拷贝网页来解决-plugin@4.3.0

运行此命令npm install copy webpack-plugin@4.3.0编辑

只需执行
纱线升级

有一个版本的copy_webpack_plugin修复了这个bug(4.4.1),所以这应该是解决这个问题的首选。使用npm,
npm--depth 9999 update
应该能够递归地更新所有依赖项

关于npm更新的深度参数:

截至npm@2.6.1,npm更新将仅检查顶级软件包。以前版本的npm还将递归地检查所有依赖项。要获取旧行为,请使用npm--depth 9999 update

原始答复如下:

解决方案 说明

  • 我们删除节点_模块和锁文件
  • 我们仅将复制Web包插件指定为对等依赖项(选项
    -O
    ),并具有确切版本(选项
    -E
  • 我们安装node_模块
    • 回调[i](错误,结果); ^

      TypeError:回调[i]不是函数

      解决方案:-
      npm安装副本网页包-plugin@4.3.0如果npm安装复制网页包-plugin@4.3.1无法尝试外接程序包.json:

      “可选依赖项”:{ “复制网页包插件”:“4.3.1” }, “决议”:{ “复制网页包插件”:“4.3.1”
      }

      这个问题现在应该通过刚刚发布的v4.4.1解决。

      尝试此命令->npm安装复制网页包-plugin@4.3.0解决了我的问题

      昨天我用CLI创建了一个应用程序,它成功了,我再次尝试了一个新的应用程序,这次它崩溃了,我想发生了一些更新,也许这有助于今天有人在升级@angular到最新版本(5.2.4)后向我求助和cli到1.6.8。链接到cli 1.6.8发行版(未提及突破性更改)哈哈,我想我只是选择了最糟糕的时刻来尝试Angular cli,然后我想无论谁说“这是一个已知错误”以及如何降级这件事的说明,都会得到最重要的答案。仍然BrokerNode没有帮助。我不得不降级到1.6.7,直到AngularCli团队解决这个问题(请参阅)。您可能有一个输入错误-您正在卸载两个。这对我不起作用,是我错过了一个技巧还是每个人都是这样?它不起作用,请参阅编辑(这就是为什么我取消了你的编辑,在你提交编辑之前我已经编辑过了,但是谢谢!)npm安装副本网页包-plugin@4.3.0Must安装cli后完成-在我的实例中,是的。angular cli 1.3版本也确实可以使用复制网页包更改,但是我可以想象,对于许多人来说,这不是一个解决方案。不要使用解决方案,angular团队现在解决了它。看起来他们已经解决了它,我刚刚测试了创建一个a使用CLI从头开始使用pp,效果良好
      npm install copy-webpack-plugin@4.3.1
      
      rm -rf node_modules package-lock.json
      npm i copy-webpack-plugin@4.3.1 -E -O
      npm i