我正在研究 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 版本
@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 的最新版本吗?
- 如果我安装最新版本,我可以运行我的 Angular 4 项目吗?
- 为什么会出现此错误?
最佳答案
该错误是由于安装的 ng-bootstrap 模块版本的元数据针对的是更高版本的 Angular。为了解决这个问题,
通过运行找出当前安装的 ng-bootstrap 版本
npm list ng-bootstrap
运行以下命令以查看 ng-bootstrap Node 模块的所有可用版本。
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"
删除插入符号 (^)(如果存在),以防止自动选择可用的最高模块版本。
关于javascript - 元数据版本不匹配 Angular 4 @ng-bootstrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48332496/