angular v 4.0.0 中的对等依赖警告

Peer Dependency warning in angular v 4.0.0

我已将 angular 软件包版本从 2.4.10 更新到 4.0.0。在 运行 'npm install' 命令后它抛出以下消息

    npm ERR! peer dep missing: @angular/common@^2.3.0, required by @angular/material@2.0.0-beta.2
    npm ERR! peer dep missing: @angular/common@^2.0.0, required by angular2-flex@1.0.3
    npm ERR! peer dep missing: @angular/core@^2.3.0, required by @angular/material@2.0.0-beta.2
    npm ERR! peer dep missing: @angular/core@^2.0.0, required by angular2-flex@1.0.3

下面是我安装的包列表

"dependencies": {
    "@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-dynamic": "^4.0.0",
    "@angular/router": "^4.0.0",
    "angular2-moment": "^1.3.0",
    "angular2-recaptcha": "^0.4.0",
    "angular2-flex": "^1.0.3"
}

并在webpack.common.js中更改了配置

new webpack.ContextReplacementPlugin(
            // The (\|\/) piece accounts for path separators in *nix and Windows
            /angular(\|\/)core(\|\/)@angular/,
            helpers.root('./src'),// location of your src
            {} // a map of your routes
        )

@angular/material包需要angular2,所以它不兼容angular4。根据semantic versioning rules of npm^2.3.0只允许版本大于或等于 2.3.0 但仍然是主版本 2,所以只有 2.x.y 其中 x >= 3.

你必须等到他们发布 Angular 的版本 4. 当 pull request #3752 is merged, you could use the master branch as described in Readme - Installation。否则你需要等到他们将它发布到 npm。