web-dev-qa-db-ja.com

エラーTS2315:タイプ 'ElementRef'は一般的なマテリアルではありませんangular

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
15
Nilson Nieto

ここでの最良の方法は、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

27
moze king

これは、すべてのangularパッケージが1つのバージョンにあり、マテリアルパッケージが別のバージョンにある場合に発生します。

angularパッケージバージョンが5.2で、マテリアルバージョンが6.0だったときにこれに直面したので、マテリアルバージョンを5.1に戻し、問題が修正されました。

8
John Nero

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'を解決できません

この助けを願っています。

4
yehuda mazal

私は同じ問題を抱えていましたが、@ angular/materialをバージョン5.0にダウングレードできました。あなたはそれを試すことができます。

3
Hamdalah

このエラーは、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つの方法があります。

  1. 次のコマンドを使用してangularをアップグレードします。ng updateこれにより、angular versioが6.x)。
  2. Cdkおよびマテリアルのバージョンを5.2.0手動に変更してから、コマンドを入力します:npm installこれにより、バージョン5.2のマテリアルが追加されます.0
1
ajay verma