Angular CLI在我“服务”时给了我“TypeError:callbacks [i]不是函数”

时间:2018-02-08 11:20:51

标签: 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_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: 1.6.8
Node: 8.9.0
OS: darwin x64
Angular: 5.2.4
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.6.8
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.0.29
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.8
@schematics/angular: 0.1.17
typescript: 2.5.3
webpack: 3.10.0

'增强型解析'模块甚至做了什么? 我安装角度错了吗?我按照https://github.com/angular/angular-cli的说明进行操作,确保我符合先决条件。

12 个答案:

答案 0 :(得分:30)

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

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

"copy-webpack-plugin": "4.3.0"添加到package.json

谢谢@neshkatrapati

答案 1 :(得分:7)

我有同样的问题,这个命令给我带来了奇迹

npm install copy-webpack-plugin@4.3.1

答案 2 :(得分:5)

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

@angular/cli升级为1.6.8后发生。

解决方案:问题出在copy-webpack-pluginhttps://github.com/webpack-contrib/copy-webpack-plugin/issues/217npm i copy-webpack-plugin@4.3.1 --save-dev帮助

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

答案 3 :(得分:5)

现在应该使用刚刚发布的v4.4.1解决此问题。 https://github.com/webpack-contrib/copy-webpack-plugin/releases/tag/v4.4.1

答案 4 :(得分:1)

如此处https://github.com/angular/angular-cli/issues/9550所述,这是copy-webpack-plugin的问题。

可以通过npm install copy-webpack-plugin@4.3.0

来解决

答案 5 :(得分:0)

关注github.com/angular/angular-cli/issues/9550(感谢@oers对评论中的链接)

我刚刚将Anuglar CLI降级为版本1.6.7。

为此,只需输入

即可

<德尔> npm uninstall -g @angular/cli

一旦完成安装以前的版本

<德尔> npm install -g @angular/cli@1.6.7

注意:这会有效,但它只是一个临时解决方案,他们可能 - 并且希望 - 热修复此问题。

编辑:实际上我尝试了一个错误的项目,它没有使用CLI,再次尝试它不起作用,如果你按照github线程,它看起来像一件大事,因为它不适用于CLI 1.5.x和1.6.x(未与其他人一起使用)。看起来我们唯一能做的就是通过调试或坐等等。

OOPS!

答案 6 :(得分:0)

修改

只需执行yarn upgrade

发布了 copy_webpack_plugin 修复错误(4.4.1),所以这应该是解决此问题的首选。使用npm,npm --depth 9999 update应该以递归方式更新所有依赖项。

关于npm update的深度参数:

  

从npm@2.6.1开始,npm更新只会检查顶级软件包。 npm的早期版本也会递归检查所有依赖项。要获得旧行为,请使用npm --depth 9999 update

以下原始答案:

解决方案

rm -rf node_modules package-lock.json
npm i copy-webpack-plugin@4.3.1 -E -O
npm i

<强>解释

  • 我们删除 node_modules 和lockfile
  • 我们仅将 copy_webpack_plugin 指定为对等关系(选项-O)并使用确切版本(选项-E
  • 我们安装 node_modules

答案 7 :(得分:0)

如果npm install copy-webpack-plugin@4.3.1没有帮助尝试添加package.json:

&#34; optionalDependencies&#34;:{     &#34; copy-webpack-plugin&#34;:&#34; 4.3.1&#34;   },   &#34;决议&#34;:{     &#34; copy-webpack-plugin&#34;:&#34; 4.3.1&#34;   }

答案 8 :(得分:0)

尝试此命令 - &gt; npm install copy-webpack-plugin@4.3.0解决了我的问题

答案 9 :(得分:-2)

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

答案 10 :(得分:-2)

回调[i](错误,结果);                             ^

TypeError:callbacks [i]不是函数

的解决方案: - npm install copy-webpack-plugin@4.3.0

答案 11 :(得分:-4)

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

全球包装:

@JacksonXmlRootElement(localName = "xml") public class TagName { public ArrayList<Integer> getThingList() { return thingList; } public void setThingList(Integer thing) { this.thingList.add(thing); } @JacksonXmlElementWrapper(localName = "tagname") @JacksonXmlProperty(localName = "thing") private ArrayList<Integer> thingList = new ArrayList<>(); } npm cache verify npm uninstall -g @angular/cli npm cache clean if npm version is > 5 then use

本地项目包:

to avoid errors (or to avoid using --force) npm install -g @angular/cli@latest