Npm 安装加载 material 2.0.0-beta.3 而不是 material 2.0.0-beta.2

Npm install loads material 2.0.0-beta.3 instead of material 2.0.0-beta.2

Npm install 似乎加载 material 2.0.0-beta3 而不是 beta.2。 Beta3 具有 angular4 依赖性,这是一个问题,因为我使用的是 angular2。

package.json如下:

"dependencies": {
    "@angular/animations": "^4.0.3",
    "@angular/common": "^2.4.0",
    "@angular/compiler": "^2.4.0",
    "@angular/core": "^2.4.0",
    "@angular/forms": "^2.4.0",
    "@angular/http": "^2.4.0",
    "@angular/platform-browser": "^2.4.0",
    ....
},
"devDependencies": {
    "@angular/cli": "1.0.0-rc.4",
    "@angular/compiler-cli": "^2.4.0",
    "@angular/material": "^2.0.0-beta.2",
    ...
}

要检查版本,我使用这个命令: ng --version

@angular/cli: 1.0.0-rc.4
node: 6.10.1
os: win32 x64
@angular/animations: 4.0.3
@angular/common: 2.4.10
@angular/compiler: 2.4.10
@angular/core: 2.4.10
@angular/forms: 2.4.10
@angular/http: 2.4.10
@angular/platform-browser: 2.4.10
@angular/platform-browser-dynamic: 2.4.10
@angular/router: 3.4.10
@angular/cli: 1.0.0-rc.4
@angular/compiler-cli: 2.4.10
@angular/material: 2.0.0-beta.3

除了package.json之外,还有其他地方控制包吗?

如果您想使用 beta 2,只需删除 material.

版本之前的 ^

然后删除 node_modules 并重新安装

您正在使用 angular 4.0 及更高版本

  "@angular/material": "^2.0.0-beta.2", 

需要 angular 2.3.0 的对等体。 由于它安装的对等依赖项不匹配

  "@angular/material": "^2.0.0-beta.3",

另外,正如下面在另一个答案中所述,您正在使用安装最新版本的 ^ 符号。即使你安装它,对等依赖仍然存在