如何在安装或升级之前知道npm软件包与Angular版本的兼容性?

时间:2019-05-07 10:07:52

标签: angular npm package.json

我计划将现有项目从Angular 4升级到Angular7。我在项目中使用了8-12个软件包(angular lib除外)。我如何事先知道软件包是否与Angular 7兼容?以下是我在Angular 4中使用的软件包。

"@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.5",
"angular-4-data-table-bootstrap-4": "^0.2.0",
"angular2-multiselect-dropdown": "^2.4.0",
"classlist.js": "^1.1.20150312",
"core-js": "^2.4.1",
"file-saver": "^1.3.3",
"geolib": "^2.0.24",
"intl": "^1.2.5",
"mydatepicker": "^2.6.3",
"ng-pick-datetime": "^5.0.0-beta.10",
"ng2-filter-pipe": "^0.1.10",
"ngx-chips": "^1.6.5",
"ngx-inactivity": "^1.0.1",
"ngx-loading": "^1.0.8",
"ngx-order-pipe": "^1.1.0",
"ngx-pagination": "^3.0.1",
"rxjs": "^5.4.2",
"web-animations-js": "^2.3.1",
"xlsx": "^0.11.14",
"xlsx-style": "^0.8.13",
"zone.js": "^0.8.14"

2 个答案:

答案 0 :(得分:1)

您可以按照 guide 以及将应用程序升级到angular 7的步骤进行操作。 还可以通过运行来修复漏洞,

rights

答案 1 :(得分:1)

您应该在github上一一检查所有这些软件包,为每个软件包打开package.json文件,并为每个软件包检查peer-dependencies属性。

例如,angular2-modal package.json看起来像这样:

 ....
 "peerDependencies": {
    "@angular/core": "^2.1.1",
    "@angular/common": "^2.1.1"
 },
 ....

这意味着它将不适用于任何版本的angular> 2。

顺便说一句,您很幸运,因为npmyarn会为您完成肮脏的工作。您可以只更新角度版本,如果不满足某些同级依赖关系,则程序包管理器将警告您。

  

对等的依赖度angular-animate@^1.5.0 +-

     

对等的依赖度angular-aria@^1.5.0 +-angular-material@1.0.6 +

     

对等的依赖度angular-messages@^1.5.0`-mdi @ 1.4.57`

您可以逐包修复它们