Angular CLI gives me “TypeError: callbacks[i] is n

2019-01-07 09:34发布

I literally just made a fresh installation of the Angular CLI in order to try it out and I don't have a clue on what's causing the following error on the command line:

    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)

This is the information I get returned when I try "ng -v" (In case it's useful at all):

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

What does the 'enhanced-resolve' module even do? Did I install angular wrong? I followed the instructions from https://github.com/angular/angular-cli and made sure I fulfilled the prerequisites.

12条回答
做自己的国王
2楼-- · 2019-01-07 09:40

Try to uninstall and reinstall Angular CLI :

Global package:

npm uninstall -g @angular/cli npm cache clean if npm version is > 5 then usenpm cache verifyto avoid errors (or to avoid using --force) npm install -g @angular/cli@latest

Local project package:

rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell npm install --save-dev @angular/cli@latest npm install

查看更多
孤傲高冷的网名
3楼-- · 2019-01-07 09:42

Edit

Just execute yarn upgrade.

There was a release of copy_webpack_plugin fixing the bug (4.4.1), so this should be preferred for resolving this issue. With npm, npm --depth 9999 update should do the trick to update all dependencies recursively.

Regarding the depth argument for npm update:

As of npm@2.6.1, the npm update will only inspect top-level packages. Prior versions of npm would also recursively inspect all dependencies. To get the old behavior, use npm --depth 9999 update

Original answer below:

Solution

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

Explanation:

  • We remove node_modules and lockfile
  • We specify copy_webpack_plugin only as a peer dependency (option -O) and with an exact version (option -E)
  • We install node_modules
查看更多
Deceive 欺骗
4楼-- · 2019-01-07 09:43

This issue should now be resolved with v4.4.1 released just now. https://github.com/webpack-contrib/copy-webpack-plugin/releases/tag/v4.4.1

查看更多
成全新的幸福
5楼-- · 2019-01-07 09:43

Following github.com/angular/angular-cli/issues/9550 (thanks @oers for the link in the comments)

I just downgraded Anuglar CLI to version 1.6.7.

To do so, just type

npm uninstall -g @angular/cli

And once it finished install a previous version

npm install -g @angular/cli@1.6.7

NOTE: This will work but it is just a temporary solution, they probably -and hopefully- hot fix this.

EDIT: Actually I tried the wrong project which wasn't using CLI, tried again and it doesn't work, if you follow the github thread, it looks like a big thing, as it doesn't work with CLI 1.5.x nor 1.6.x (didn't tried with the others). It looks like the only thing we can do ATM is either debug through or sit and wait.

OOPS!

查看更多
\"骚年 ilove
6楼-- · 2019-01-07 09:46

I had same problem and this command did miracle for me

npm install copy-webpack-plugin@4.3.1
查看更多
看我几分像从前
7楼-- · 2019-01-07 09:49

EDIT: The issue is now fixed, so there is no need to use this workaround anymore.


Solution (workaround) found here

Add "copy-webpack-plugin": "4.3.0" to your package.json

Thanks @neshkatrapati

查看更多
登录 后发表回答