Node_modules/@angular/material/button-toggle/typings/button-toggle.d.ts(136,20)のエラー:
エラーTS2315:タイプ 'ElementRef'はジェネリックではありません。
node_modules/@angular/material/button-toggle/typings/button-toggle.d.ts(154,104):
エラーTS2315:タイプ 'ElementRef'はジェネリックではありません
素材をインストールしようとしていますが、それは間違いのようです。
データ:
Angular CLI: 1.7.4
Node: 9.11.1
ここでの最良の方法は、angularを持っている人のためにangularのそれと一致するようにすべてのマテリアルの依存関係を変更することです。
初期
"dependencies": {
"@angular/core": "^5.2.0",
"@angular/cdk": "^6.0.1",
"@angular/material": "^6.0.1"
}
これらを、他のangularコンポーネントの現在のバージョンに変更します。
最後の
"dependencies": {
"@angular/core": "^5.2.0",
"@angular/cdk": "^5.2.0",
"@angular/material": "^5.2.0"
}
それからnpm install
これは、すべてのangularパッケージが1つのバージョンにあり、マテリアルパッケージが別のバージョンにある場合に発生します。
angularパッケージバージョンが5.2で、マテリアルバージョンが6.0だったときにこれに直面したので、マテリアルバージョンを5.1に戻し、問題が修正されました。
OK、修正方法は次のとおりです。ステップ1:
npm update -D
およびnpm update -S
を実行しますが、問題はまだそこにあったので、これは必要ではないと思います。ステップけん引:
npm install -g @angular/cli@latest
ng update
コマンドは、私が実行する必要があると不平を言いました(私はそうしました):
ng update @angular/cli
試行した後:ng serve
'hammerjs'がインストールされていないためエラーが発生したため、実行します(ただし、これはあなたのケースではないかもしれません)。
npm install hammerjs --save
およびnpm install @types/hammerjs --save-dev
--save-devの要点はわかりませんが、このようにしました。コンパイル中です。
この最後のhammerjsの問題はここにあります: モジュールが見つかりません:エラー: 'hammerjs'を解決できません
この助けを願っています。
私は同じ問題を抱えていましたが、@ angular/materialをバージョン5.0にダウングレードできました。あなたはそれを試すことができます。
このエラーは、angularバージョンとマテリアルバージョンに不一致がある場合に発生します。エラーを確認するには、angularバージョンとマテリアルバージョンを見つけることができるpackage.jsonファイルに移動します。
"dependencies": {
"@angular/animations": "^5.2.0",
"@angular/cdk": "^6.2.1", //ERROR here the version is 6.x
"@angular/common": "^5.2.0",
"@angular/compiler": "^5.2.0",
"@angular/core": "^5.2.0",
"@angular/forms": "^5.2.0",
"@angular/http": "^5.2.0",
"@angular/material": "^6.2.1", // ERROR here the material version is 6.x
"@angular/platform-browser": "^5.2.0",
"@angular/platform-browser-dynamic": "^5.2.0",
"@angular/router": "^5.2.0",
"core-js": "^2.4.1",
"hammerjs": "^2.0.8",
"rxjs": "^5.5.6",
"zone.js": "^0.8.19"}
}、
上記のpackage.jsonファイルでわかるように、バージョンに不一致があります。このエラーを解決するには、2つの方法があります。