Javascript 元数据版本不匹配Angular 4@ng引导

Javascript 元数据版本不匹配Angular 4@ng引导,javascript,node.js,angular,twitter-bootstrap,Javascript,Node.js,Angular,Twitter Bootstrap,我正在研究角度引导模块。当我使用以下命令安装模块时,npm install--save@ng bootstrap/ng bootstrap并将模块导入主应用程序模块。然后,我重新运行下面的getting error ERROR in Error: Metadata version mismatch for module F:/nodejs/angular4/mybootst rap3/node_modules/@ng-bootstrap/ng-bootstrap/index.d.ts, foun

我正在研究角度引导模块。当我使用以下命令安装模块时,
npm install--save@ng bootstrap/ng bootstrap
并将模块导入主应用程序模块。然后,我重新运行下面的getting error

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项目吗
  • 为什么我会犯这个错误

发生这种情况是因为截至最新版本的@ng引导出现问题

我通过改变来解决它

 "@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.5",
在package.json中

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

您需要在package.json中指定正确的版本,否则它将获取最新的ng引导程序,该程序在使用angular 4时出现问题。错误是由于安装的ng引导程序模块版本的元数据针对angular的更高版本造成的。为了解决这个问题,

通过运行查找当前安装的ng引导版本

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

npm show ng-bootstrap@* version
选择一个低于当前安装版本的版本,然后安装它

npm install ng-bootstrap@x.y.z
*x.y.z表示版本号

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

如果没有,请恢复到另一个较低版本,然后重试上述npm安装步骤

一旦工作正常,请使用解决问题的版本号更新package.json,以便以后不再出现此问题。假设版本1.3.0解决了这个问题,那么就用json更新包

"@ng-bootstrap/ng-bootstrap": "1.3.0"
删除插入符号(^)(如果存在),以防止自动选择可用的最高模块版本