错误:找不到模块“@angular/material”。

5

错误

找不到模块 '@angular/material'

app.module.ts

import { MaterialModule } from '@angular/material';

链接:https://material.angular.io/guide/getting-started 此链接介绍了如何开始使用Angular Material,它是一个集成了Material Design样式和组件的UI框架。您可以在其中了解如何安装、导入并使用Angular Material组件来提高您的应用程序的外观和功能。
 npm install --save @angular/material @angular/cdk

我尝试的解决方法:

运行npm update

但这并没有起作用。

运行ng --version

@angular/cli: 1.2.1
node: 8.3.0
os: win32 x64
@angular/animation: 4.0.0-beta.8
@angular/animations: error
@angular/cdk: error
@angular/common: 4.3.2
@angular/compiler: 4.3.2
@angular/core: 4.3.2
@angular/forms: 4.3.2
@angular/http: 4.3.2
@angular/material: error
@angular/platform-browser: 4.3.2
@angular/platform-browser-dynamic: 4.3.2
@angular/router: 4.3.2
@angular/cli: 1.2.1
@angular/compiler-cli: 4.4.3
@angular/language-service: 4.3.2
  • 请问有人能告诉我,在运行npm命令之后,为什么材料模块停止工作了吗?

我已经创建了一个可运行的演示https://github.com/afeef1915/Angular2-Symfony3-Demo

在这个演示中,所有代码都是正常工作的。

  • 欢迎提出任何建议。

安装材料时出现错误

    D:\Angular2-Symfony3-Demo-master>npm install --save @angular/material @angular/cdk
    npm WARN @angular/animation@4.0.0-beta.8 requires a peer of @angular/core@4.0.0-beta.8 but none is installed. You must install peer dependencies yourself.
    npm WARN @angular/cdk@2.0.0-beta.12 requires a peer of @angular/core@~4.4.4 but none is installed. You must install peer dependencies yourself.
    npm WARN @angular/cdk@2.0.0-beta.12 requires a peer of @angular/common@~4.4.4 but none is installed. You must install peer dependencies yourself.
    npm WARN @angular/compiler-cli@4.4.3 requires a peer of @angular/compiler@4.4.3 but none is installed. You must install peer dependencies yourself.
    npm WARN @angular/compiler-cli@4.4.3 requires a peer of @angular/core@4.4.3 but none is installed. You must install peer dependencies yourself.
    npm WARN @angular/material@2.0.0-beta.12 requires a peer of @angular/core@~4.4.4 but none is installed. You must install peer dependencies yourself.
    npm WARN @angular/material@2.0.0-beta.12 requires a peer of @angular/common@~4.4.4 but none is installed. You must install peer dependencies yourself.

    npm ERR! path D:\Angular2-Symfony3-Demo-master\node_modules\@angular\cdk
    npm ERR! code ENOENT
    npm ERR! errno -4058
    npm ERR! syscall rename
    npm ERR! enoent ENOENT: no such file or directory, rename 'D:\Angular2-Symfony3-Demo-master\node_modules\@angular\cdk' -> 'D:\Angular2-Symfony3-Demo-master\node_modules\@angular\.cdk.DELETE'
    npm ERR! enoent This is related to npm not being able to find a file.
    npm ERR! enoent

    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:\Users\mohd\AppData\Roaming\npm-cache\_logs\2018-02-01T13_42_49_724Z-debug.log

Package.json

                    {
                "name": "angular2-bug-testing",
                "version": "0.0.0",
                "license": "MIT",
                "scripts": {
                "ng": "ng",
                "start": "ng serve",
                "build": "ng build",
                "test": "ng test",
                "lint": "ng lint",
                "e2e": "ng e2e"
                },
                "private": true,
                "dependencies": {
                "@angular/animation": "^4.0.0-beta.8",
                "@angular/animations": "^4.3.3",
                "@angular/cdk": "^2.0.0-beta.12",
                "@angular/common": "^4.0.0",
                "@angular/compiler": "^4.0.0",
                "@angular/core": "^4.3.6",
                "@angular/forms": "^4.0.0",
                "@angular/http": "^4.0.0",
                "@angular/material": "^2.0.0-beta.8",
                "@angular/platform-browser": "^4.0.0",
                "@angular/platform-browser-dynamic": "^4.0.0",
                "@angular/router": "^4.0.0",
                "angular-datatables": "^4.2.0",
                "angular-in-memory-web-api": "^0.3.2",
                "core-js": "^2.4.1",
                "datatables.net": "^1.10.15",
                "datatables.net-buttons-dt": "^1.3.1",
                "datatables.net-dt": "^1.10.15",
                "hammerjs": "^2.0.8",
                "jquery": "^3.2.1",
                "json-server": "^0.12.0",
                "rxjs": "^5.1.0",
                "zone.js": "^0.8.4"
                },
                "devDependencies": {
                "@angular/cli": "1.2.1",
                "@angular/compiler-cli": "^4.4.3",
                "@angular/language-service": "^4.0.0",
                "@types/datatables.net": "^1.10.5",
                "@types/jasmine": "~2.5.53",
                "@types/jasminewd2": "~2.0.2",
                "@types/jquery": "^3.2.11",
                "@types/node": "~6.0.60",
                "codelyzer": "~3.0.1",
                "jasmine-core": "~2.6.2",
                "jasmine-spec-reporter": "~4.1.0",
                "karma": "~1.7.0",
                "karma-chrome-launcher": "~2.1.1",
                "karma-cli": "~1.0.1",
                "karma-coverage-istanbul-reporter": "^1.2.1",
                "karma-jasmine": "~1.1.0",
                "karma-jasmine-html-reporter": "^0.2.2",
                "protractor": "~5.1.2",
                "ts-node": "~3.0.4",
                "tslint": "~5.3.2",
                "typescript": "~2.3.3"
                }
                }

看起来没有安装 Material 模块。当你运行 npm install 命令时,是否在控制台遇到了任何错误? - abdul-wahab
正如你所见,当我运行npm命令时,GitHub代码立即开始工作,但随后出现了错误。 - afeef
尝试通过 "npm uinstall --save @angular/material" 卸载,然后再次安装 "npm install --save @angular/material"。 - IftekharDani
我在安装材料时遇到了更新错误。 - afeef
我已经克隆了你的代码仓库并成功地通过npm安装了所有依赖。我正在使用npm 5.4.2版本。建议你尝试升级你的npm,并在一个新的目录下运行npm install命令。 - abdul-wahab
嗨,阿卜杜勒,我仍在使用5.4.2版本。D:\Angular2-Symfony3-Demo-master>npm --version - afeef
2个回答

1

这里是材料2的变更日志

它说:自2.beta-11以来,Angular Material现在需要Angular 4.4.3或更高版本。

如果您想要最新版本的材料,则必须升级到Angular 5+。

如果您想坚持使用版本4.3.2,则可以安装的最后一个版本是2.0.0-beta10(我不建议这样做)。


1
请看错误提示,你会发现有些包需要angular v.4.4.4。因此我建议你将所有@angular-packages更新到v.4.4.4。
按照以下步骤操作:
1.) 删除node_modules
2.) npm cache clean 3.) 打开packages.json并将所有@angular-packages的版本设置为"^4.4.4"
4.) npm install

我已经使用cmd>npm update -D && npm update -S进行了更新。 - afeef

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接