3
votes

Impossible de construire depuis la mise à niveau d'Angular 9.17 vers 9.19

J'ai mis à niveau Angular 9.17 vers 9.19 et maintenant ng build échoue avec l'erreur suivante se plaignant d'une déclaration de variable à la fois dans @ types / node et zone.js:

ERREUR dans node_modules/@types/node/ts3.5/globals.global.d.ts: 1: 13 - erreur TS2403: les déclarations de variables suivantes doivent avoir le même type. La variable 'global' doit être de type 'Global', mais ici a le type 'Global & typeof globalThis'.

1 déclare var global: NodeJS.Global & typeof globalThis; ~~~~~~

node_modules / zone.js / dist / zone.js.d.ts: 600: 13 600 déclarent var global: NodeJS.Global; ~~~~~~ 'global' a également été déclaré ici.

Cela fonctionnait bien avant la mise à niveau et ne sera plus construit. C'était le seul changement.

Veuillez aider.

Mon package.json

{
  "name": "myapp",
  "private": true,
  "version": "1.0.0",
  "scripts": {
    "ng": "ng",
    "start": "echo hello && ng serve --live-reload=false",
    "build": "node --max_old_space_size=4096 ng build",
    "build:ssr": "ng run MIC:server:dev",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "postcss": {},
  "dependencies": {
    "@angular-devkit/schematics": "9.1.7",
    "@angular/animations": "9.1.9",
    "@angular/cdk": "9.2.4",
    "@angular/common": "9.1.9",
    "@angular/compiler": "9.1.9",
    "@angular/core": "9.1.9",
    "@angular/flex-layout": "9.0.0-beta.31",
    "@angular/forms": "9.1.9",
    "@angular/localize": "9.1.9",
    "@angular/material": "9.2.4",
    "@angular/material-moment-adapter": "9.2.4",
    "@angular/platform-browser": "9.1.9",
    "@angular/platform-browser-dynamic": "9.1.9",
    "@angular/platform-server": "9.1.9",
    "@angular/router": "9.1.9",
    "@fortawesome/angular-fontawesome": "0.6.1",
    "@fortawesome/fontawesome-svg-core": "1.2.28",
    "@fortawesome/free-regular-svg-icons": "5.13.0",
    "@fortawesome/free-solid-svg-icons": "5.13.0",
    "@microsoft/signalr": "3.1.4",
    "@microsoft/signalr-protocol-msgpack": "3.1.4",
    "@ng-bootstrap/ng-bootstrap": "6.1.0",
    "@ng-select/ng-select": "4.0.0",
    "@nguniversal/module-map-ngfactory-loader": "9.0.0-next.9",
    "@swimlane/ngx-charts": "14.0.0",
    "@syncfusion/ej2-angular-buttons": "18.1.52",
    "@syncfusion/ej2-angular-calendars": "18.1.53",
    "@syncfusion/ej2-angular-dropdowns": "18.1.54",
    "@syncfusion/ej2-angular-splitbuttons": "18.1.52",
    "angular-dual-listbox": "5.0.1",
    "angular2-notifications": "9.0.0",
    "aspnet-prerendering": "3.0.1",
    "bootstrap": "4.5.0",
    "classlist.js": "1.1.20150312",
    "core-js": "3.6.5",
    "date-fns": "2.14.0",
    "hammer-timejs": "1.1.0",
    "hammerjs": "2.0.8",
    "hash-sum": "2.0.0",
    "immutable": "4.0.0-rc.12",
    "intl": "1.2.5",
    "jquery": "3.5.1",
    "jwt-decode": "2.2.0",
    "material-design-icons": "3.0.1",
    "moment": "2.26.0",
    "ng-validator": "2.0.0",
    "ngx-material-timepicker": "5.5.2",
    "ngx-print": "1.2.0-beta.4",
    "oidc-client": "1.10.1",
    "popper.js": "1.16.1",
    "primeicons": "3.0.0",
    "primeng": "9.1.0",
    "rxjs": "6.5.5",
    "tippy.js": "6.2.3",
    "tslib": "2.0.0",
    "web-animations-js": "2.3.2",
    "zone.js": "0.10.3"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "0.901.7",
    "@angular/cli": "9.1.7",
    "@angular/compiler-cli": "9.1.9",
    "@angular/language-service": "9.1.9",
    "@boldreports/angular-reporting-components": "2.2.32",
    "@boldreports/types": "2.2.32",
    "@intervolga/optimize-cssnano-plugin": "1.0.6",
    "@types/jasmine": "3.5.10",
    "@types/jasminewd2": "2.0.8",
    "@types/jquery": "3.3.38",
    "@types/jwt-decode": "2.2.1",
    "@types/node": "14.0.5",
    "autoprefixer": "9.8.0",
    "codelyzer": "5.2.2",
    "jasmine-core": "3.5.0",
    "jasmine-spec-reporter": "5.0.2",
    "karma": "5.0.7",
    "karma-chrome-launcher": "3.1.0",
    "karma-coverage-istanbul-reporter": "3.0.2",
    "karma-jasmine": "3.1.1",
    "karma-jasmine-html-reporter": "1.5.4",
    "karma-scss-preprocessor": "4.0.0",
    "typescript": "3.8.3",
    "webpack-dev-server": "3.11.0"
  },
  "optionalDependencies": {
    "node-sass": "4.14.1",
    "protractor": "7.0.0",
    "tslint": "6.1.2",
    "ts-node": "8.10.1"
  }
}


2 commentaires

Avez-vous essayé de le débrancher et de le rebrancher ... euh ... Je veux dire, avez-vous essayé de supprimer node_modules puis de faire une "installation npm"?


Merci GreyBeardedGeek pour votre réponse, malheureusement cela n'a pas fonctionné.


3 Réponses :


8
votes

Il semble que vous deviez attendre la nouvelle version du package @ types / node. La rétrogradation à 14.0.4 m'a aidé dans ce cas (pour l'instant).

npm install @types/node@14.0.4 --saveDev


1 commentaires

Merci KarolB, cela a fonctionné. J'espère que cela sera corrigé dans 14.0.6.



0
votes

J'obtiens le même problème dans angular / core 10.0.2 et la solution:

npm install @types/node@14.0.4 --saveDev

fonctionne parfaitement pour moi aussi

Merci


0 commentaires

0
votes

Le problème ne venait pas de @types/node mais de la dépendance zone.js d'angular lui-même, ici pour le problème lié à Github .

Semble savoir que vous pouvez mettre à jour votre zone.js vers la dernière version. au moins v0.11.1

npm i @types/node@latest

Mais sachez que les changements de rupture reclassent les anciens navigateurs tels que IE11.

N'hésitez pas alors à mettre à jour votre @ types / node vers la dernière version

npm i zone.js@latest


0 commentaires