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

标签 javascript node.js angular twitter-bootstrap

我正在研究 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/

相关文章:

javascript - 将输入数据发送到 node.js 中的子进程

javascript - Jquery 删除类正在重新应用该类

node.js - 如何将 NPM 模块(十进制)添加到 ArangoDB 以进行 ACID 事务

javascript - Angular 使翻译全局化

angular - 使用 outDir 引用 TypeScript 编译文件的正确方法

javascript - 修改文本javascript

javascript - 如何使用 JavaScript 将元素附加到空 html 文件?

mysql - Node.js 与 AWS 负载平衡

javascript - 如何使用 Node 检查器调试 nodejs 后端?

javascript - 在 @Component 中使用导入的模块