元数据版本不匹配Angular 4 @ ng-bootstrap

问题描述 投票:1回答:2

我正在研究Angular bootstrap模块。当我使用以下命令npm install --save @ng-bootstrap/ng-bootstrap安装模块并将模块导入主app模块时。然后我重新运行以下错误。

ERROR in Error: Metadata version mismatch for module F:/nodejs/angular4/mybootst
rap3/node_modules/@ng-bootstrap/ng-bootstrap/index.d.ts, found version 4, expect
ed 3, resolving symbol AppModule in F:/nodejs/angular4/mybootstrap3/src/app/app.
module.ts, resolving symbol AppModule in F:/nodejs/angular4/mybootstrap3/src/app
/app.module.ts

这是我的角度版本

@angular/cli: 1.4.4
node: 6.11.2
os: win32 ia32
@angular/animations: 4.4.6
@angular/common: 4.4.6
@angular/compiler: 4.4.6
@angular/core: 4.4.6
@angular/forms: 4.4.6
@angular/http: 4.4.6
@angular/platform-browser: 4.4.6
@angular/platform-browser-dynamic: 4.4.6
@angular/router: 4.4.6
@angular/cli: 1.4.4
@angular/compiler-cli: 4.4.6
@angular/language-service: 4.4.6
typescript: 2.3.4

  • 有安装角度最新版本吗?
  • 如果我安装最新版本,我可以运行我的Angular 4项目吗?
  • 为什么我会收到此错误?
javascript node.js angular twitter-bootstrap
2个回答
2
投票

该错误是由于安装的ng-bootstrap模块版本的元数据针对较高版本的Angular而引起的。要解决这个问题,

通过运行找出当前安装的ng-bootstrap版本

npm list ng-bootstrap

运行以下命令以查看ng-bootstrap节点模块的所有可用版本。

npm show ng-bootstrap@* version

选择一个低于当前安装版本的版本,然后安装它

npm install [email protected]

* x.y.z是指版本号。

现在试试npm start,看看它是否有效。

如果没有,请还原到另一个较低版本,然后重试上述npm install步骤。

一旦它工作 - 使用解决问题的版本号更新package.json,以便将来不再出现此问题。让我们说如果版本号。 1.3.0解决了这个问题,然后用json更新包json。

"@ng-bootstrap/ng-bootstrap": "1.3.0"

删除插入符号(^)(如果存在),以防止自动选择可用的最高模块版本。


0
投票

发生这种情况是因为@ ng-bootstrap的最新版本存在问题。

我通过改变解决了它

 "@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.5",

在package.json中

 "@ng-bootstrap/ng-bootstrap": "1.0.0-beta.5",

您需要在package.json中指定正确的版本,否则它将获取最新的ng-bootstrap,该问题在使用angular 4时有问题

© www.soinside.com 2019 - 2024. All rights reserved.