我正在开发Angular bootstrap模块。当我使用以下命令npm install --save @ng-bootstrap/ng-bootstrap
安装模块并将模块导入主应用程序模块时。然后我重新运行以下错误。
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
问题
答案 0 :(得分:2)
该错误是由于安装的ng-bootstrap模块版本的元数据针对较高版本的Angular而引起的。要解决此问题,
通过运行
找出当前安装的ng-bootstrap版本npm list ng-bootstrap
运行以下命令以查看ng-bootstrap节点模块的所有可用版本。
npm show ng-bootstrap@* version
选择一个低于当前安装版本的版本,然后安装
npm install ng-bootstrap@x.y.z
* x.y.z是指版本号。
立即尝试npm start
,看看它是否有效。
如果没有,请还原到另一个更低版本,然后重试上述npm install步骤。
一旦工作 - 使用解决问题的版本号更新package.json,以便将来再次出现此问题。如果版本没有,请说。 1.3.0解决了这个问题,然后用。更新包json。
"@ng-bootstrap/ng-bootstrap": "1.3.0"
删除插入符号(^)(如果存在),以防止自动选择可用的最高模块版本。
答案 1 :(得分: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时有问题