web-dev-qa-db-ja.com

Angular CLIは、「サービスを提供する」ときに「TypeError:callbacks [i]は関数ではありません」と表示します

私は文字通り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

'enhanced-resolve'モジュールは何をしますか? angular wrong?をインストールしましたか? https://github.com/angular/angular-cli の指示に従い、前提条件を満たしていることを確認しました。

43
Franco Roura

編集:この問題は修正されたため、この回避策を使用する必要はもうありません。


解決策(回避策)が見つかりました here

追加 "copy-webpack-plugin": "4.3.0"をpackage.jsonに

ありがとう@neshkatrapati

30
Rafa Garés

私は同じ問題を抱えており、このコマンドは私のために奇跡を起こしました

npm install [email protected]
7
Daniel Chikaka

この問題は、今リリースされたv4.4.1で解決されるはずです。 https://github.com/webpack-contrib/copy-webpack-plugin/releases/tag/v4.4.1

5
Tarang

[〜#〜] edit [〜#〜]:この問題は修正されたため、この回避策を使用する必要はなくなりました。


アップグレード後に発生します@angular/cliから1.6.8

Solution:問題はcopy-webpack-pluginhttps://github.com/webpack-contrib/copy-webpack-plugin/issues/217npm i [email protected] --save-dev役立ちます

[〜#〜] note [〜#〜]:以前に提供された解決策は、cliを1.6.7にダウングレードすることでした。これは役に立ちません。

5

ここで述べたように、 https://github.com/angular/angular-cli/issues/955 これはcopy-webpack-pluginの問題です。

npm install [email protected]を実行することで解決できます

1
kikus

編集

yarn upgradeを実行するだけです。

バグ(4.4.1)を修正するcopy_webpack_pluginのリリースがあったため、この問題を解決するためにこれを推奨します。 npmでは、npm --depth 9999 updateはすべての依存関係を再帰的に更新するためのトリックを実行する必要があります。

Npm更新のdepth引数について:

[email protected]の時点では、npmアップデートはトップレベルパッケージのみを検査します。 npmの以前のバージョンも、すべての依存関係を再帰的に検査していました。古い動作を取得するには、npm --depth 9999 updateを使用します

以下の元の答え:

解決

rm -rf node_modules package-lock.json
npm i [email protected] -E -O
npm i

説明

  • node_modulesとロックファイルを削除します
  • copy_webpack_pluginをピアの依存関係(オプション-O)および正確なバージョン(オプション-E)としてのみ指定します
  • インストールしますnode_modules
0

npm install [email protected]がpackage.jsonに追加しようとしても役に立たない場合:

"optionalDependencies":{"copy-webpack-plugin": "4.3.1"}、 "解像度":{"copy-webpack-plugin": "4.3.1"}

このコマンドを試してください-> npm install [email protected]は私の問題を解決しました

0
chhaya Joshi

Github.com/angular/angular-cli/issues/9550をフォロー(コメント内のリンクについて@oersに感謝)

Anuglar CLIをバージョン1.6.7にダウングレードしました。

そのためには、単に入力します

npm uninstall -g @angular/cli

そして、それが終了したら、以前のバージョンをインストールします

npm install -g @angular/[email protected]

[〜#〜] note [〜#〜]:これは動作しますが、これは一時的な解決策であり、おそらく-そして、うまくいけば-これをホットフィックスします。

[〜#〜] edit [〜#〜]:実際には、CLIを使用していない間違ったプロジェクトを試し、再試行しましたが、うまくいきません。 CLI 1.5.xや1.6.xでは機能しないため、大きなことのようです(他の人とは試しませんでした)。 ATMでできることは、デバッグスルーするか座って待つかだけです。

おっと!

0
Mese