安装 Angular Material 2 和 Angular 4 未满足的依赖项

Install Angular Material 2 with Angular 4 Unmet Dependency

如何让 Angular Material 2 与 Angular 4 一起工作?

  1. 我重新安装了 Angular CLI,现在它是 1.0.0 使用:npm install -g @angular/cli
  2. 我创建了一个新的 Angular 4 项目使用:ng new MyProject
  3. 我尝试安装 Material 2 但失败了:npm install --save @angular/material

+-- 未满足的同伴依赖 @angular/common@4.0.0

+-- 未满足的同伴依赖 @angular/core@4.0.0

+-- 未满足的同伴依赖 @angular/http@4.0.0

-- @angular/material@2.0.0-beta.2

这是我为项目执行 ng -v 时得到的结果: @angular/cli: 1.0.0

节点:6.10.0

os: win32 x64

@angular/common: 4.0.0

@angular/compiler: 4.0.0

@angular/core: 4.0.0

@angular/forms: 4.0.0

@angular/http: 4.0.0

@angular/material: 2.0.0-beta.2

@angular/platform-browser: 4.0.0

@angular/platform-browser-动态:4.0.0

@angular/router: 4.0.0

@angular/cli: 1.0.0

@angular/compiler-cli: 4.0.0

根据 Angular Material 2 团队的说法,需要几天时间才能发布与 Angular 4 兼容的新版本。

您可以使用 master 的最新版本:

npm install --save https://github.com/angular/material2-builds.git

正如前面的回答所述,您可以按照 github 上的自述文件中的描述使用 master。

我已经这样做了一段时间了,这是一个很好的解决方案,因为这个项目的发布时间表似乎已经减慢到大约每 200-300 次提交一次。

注意,但是,因为这些基本上是他们的日常构建。事情得到解决,但有时事情也会被打破。甚至构建本身也可能不稳定(例如,有几次他们遗漏了所有主题文件)。但是如果你去 material2/builds 项目的发布,你可以获得所有过去每日构建的链接。可以在您的 package.json 中精确引用该确切构建。

因此,如果一开始当您切换到 master 时,一切都会崩溃。不要绝望……但是。首先回到最近一两周的构建,看看是否可以通过直接链接到其中一个来使您的项目完好无损。

Angular Material v2.0.0-beta.3现已发布。这取决于Angular 4.继续,安装它。

npm i @angular/material --save

如果您已经使用了以前版本的包,您可能希望根据 CHANGELOG.md

在您的项目中执行一些更改

这个问题有点老了,但我刚开始 Angular 和 Material 一起工作时偶然发现了它。

安装最新版本的 material2 将使其依赖于 Angular5。如果你想让它与 Angular4 一起工作,你可以在重大更改之前安装最新版本:

npm install --save @angular/material@2.0.0-beta.12 @angular/cdk@2.0.0-beta.12