Definitelytyped: @types/node , Kann nicht kompiliert werden: node_modules/@types/node/index.d.ts(50,14): error TS2687: Alle Deklarationen von 'iterator' mĂŒssen identische Modifikatoren haben.

Erstellt am 10. MĂ€rz 2017  Â·  41Kommentare  Â·  Quelle: DefinitelyTyped/DefinitelyTyped

Seit 7.0.8 bei Verwendung von

node_modules/@types/node/index.d.ts(50,14): error TS2687: Alle Deklarationen von 'iterator' mĂŒssen identische Modifikatoren haben.

Unsere tsconfig:

{ "compilerOptions": { "target": "es5", "module": "amd", "sourceMap": true, "strictNullChecks": true, "noImplicitAny": false, "noImplicitReturns": true, "noImplicitThis": false, "noUnusedParameters": false, "noUnusedLocals": true, "experimentalDecorators": false, "emitDecoratorMetadata": false, "removeComments": true, "outFile": "../js/ts.js" }, "exclude": [ "node_modules", "../node_modules", "../../node_modules" ] }

Konflikte bestehen zwischen @types/node line 50 und @types/core-js, line 504 (iterator:Symbol)

Hilfreichster Kommentar

@harrietsCreativeDabblets sollten Sie in der Lage sein, Folgendes in die devDependencies Ihres Projekts aufzunehmen (innerhalb von ng-start/package.json ):

"@types/node": "7.0.7"

Da dies den jspm-config Server erfĂŒllt, wird sichergestellt, dass Ihre Version von @types/node auf 7.0.7 gesperrt wird. Beachten Sie, dass Sie am Ende doppelte Definitionen erhalten wĂŒrden, wenn dies den jspm-config Semver nicht erfĂŒllt.

Stellen Sie sicher, dass Sie Ihre node_modules und npm i löschen, nachdem Sie Ihre Projekte package.json geÀndert haben.

Alle 41 Kommentare

Gleiches Problem bei mir auch. tsconfig:
{ "compilerOptions": { "allowJs": false, "target": "es5", "module": "commonjs", "moduleResolution": "node", "allowSyntheticDefaultImports": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "sourceMap": true, "noEmitHelpers": true, "noUnusedLocals": true, "noImplicitReturns": true, "noUnusedParameters": true, "baseUrl": ".", "paths": { "app": [ "src/app" ], "app/*": [ "src/app/*" ], "core": [ "src/core" ], "core/*": [ "src/core/*" ] }, "typeRoots": [ "node_modules/@types" ] }, "compileOnSave": false, "buildOnSave": false, "exclude": [ "node_modules" ] }

Offensichtlich war der Modifikator readonly vor iterator ein Fehler. Oder core-js ist falsch.

Das gleiche Problem hier, alle meine Builds sind ĂŒber Nacht kaputt gegangen.
unsere tsconfig

{
  "compilerOptions": {
    "target": "ES5",
    "sourceMap": true,
    "typeRoots": [ "node_modules/@types/" ],
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "declaration": false,
    "watch": true
  },
  "compileOnSave": true,
  "include": [
    "src/**/*"
  ],
  "exclude": [
    ".vscode",
    "node_modules",
    "dist"
  ]
}

Habe auch dieses Problem. Wir haben unsere @types/node-Version vorerst auf 7.0.7 korrigiert, was immer noch funktioniert. Hier posten in erster Linie, um das Problem zu verfolgen.

Wir haben auch das gleiche Problem. Alles kaputt gegangen.

+1 gleiches Problem.

Genau das gleiche hier.

Hier gilt das gleiche,
vorĂŒbergehend an 7.0.7 angeheftet.

+1 gleich

ich habe das gleiche Problem.
Wechsel zurĂŒck zu @types/node": "7.0.7" behebt das Problem

funktioniert bei mir jetzt mit dem Entfernen von core-js und der Verwendung von @types/ node @

Hier gilt das gleiche. Wechseln Sie zurĂŒck zu @types/node": "7.0.7" behebt das Problem. Markiert zum Verfolgen des Fortschritts.

Sollte durch #15108 behoben werden. Beachten Sie, dass Sie möglicherweise "lib" in Ihrer tsconfig Ă€ndern mĂŒssen, da Typen wie Iterator von core-js nicht mehr bereitgestellt werden.

@andy-ms was schlÀgst du vor, sollten wir "lib" Àndern in ?

@baywet Was lib sollte, hÀngt von Ihrem Projekt ab. Zum Beispiel wird mein Projekt zu ES5 kompiliert, benötigt aber core-js um einige ES6-Funktionen zu polyfillen. Das ist mein lib :

"lib": [
  "es6"
  "dom"
]

Sehen Sie sich --lib in der Dokumentation zu den

Welche Datei sollte ich genau Àndern, um die Version von @types/node zu Àndern: "7.0.7"?
Eine Verzeichnissuche zeigt, dass ich 2 solcher EintrÀge habe:

image

Welche Àndere ich oder Àndere ich beide?

Diese befinden sich beide in node_modules , sind also vermutlich nicht eingecheckt und können nicht direkt geÀndert werden. Das von Ihnen verwendete Installationstool (zB npm oder jspm ) sollte eine Dokumentation enthalten, die beschreibt, wie Pakete installiert und deren Versionen eingestellt werden.
Aber wie die obige Diskussion zeigt, ist es am besten, die neuesten Versionen aller Bibliotheken zu verwenden und --lib in Ihrem tsconfig.json richtig einzustellen.

Eine ordnungsgemĂ€ĂŸe Installation hat eine Version mit ^ als erstes Zeichen in package.json (s), um die neueste Version zu erhalten. In Bezug auf @types- und libs-Probleme im Allgemeinen wie das hier erwĂ€hnte: Sobald es behoben ist, entfernen Sie zuerst alle node_modules-Verzeichnisse (Hauptprojektpfad, Client-Pfad usw.), fĂŒhren Sie dann die npm-Installation in jedem betroffenen Verzeichnis durch und starten Sie dann tsc erneut ( normalerweise mit einem Grunzen oder einer gleichwertigen Build-Datei), um zu ĂŒberprĂŒfen, ob alles in Ordnung ist.
In Vorproduktions- und Produktionsumgebungen mĂŒssen Sie möglicherweise dasselbe tun.

@harrietsCreativeDabblets sollten Sie in der Lage sein, Folgendes in die devDependencies Ihres Projekts aufzunehmen (innerhalb von ng-start/package.json ):

"@types/node": "7.0.7"

Da dies den jspm-config Server erfĂŒllt, wird sichergestellt, dass Ihre Version von @types/node auf 7.0.7 gesperrt wird. Beachten Sie, dass Sie am Ende doppelte Definitionen erhalten wĂŒrden, wenn dies den jspm-config Semver nicht erfĂŒllt.

Stellen Sie sicher, dass Sie Ihre node_modules und npm i löschen, nachdem Sie Ihre Projekte package.json geÀndert haben.

@pe8ter Danke fĂŒr die PrĂ€zision. Am Ende habe ich ein Upgrade auf @types/ 7.0.10 durchgefĂŒhrt und diese Änderungen in meiner tsconfig.json vorgenommen, um so die IE11-KompatibilitĂ€t zu wahren.

"lib": [
      "dom",
      "dom.iterable",
      "es2015",
      "scripthost"
    ],

Gleiches Problem hier; gelöst mit Versions-Downgrade 7.0.7

Gleiches Problem hier; gelöst mit Versions-Downgrade 7.0.7

Es sieht nicht so aus, als ob das Problem gelöst wĂ€re, und die dauerhafte Verwendung von Version 7.0.7 ist nicht logisch. Außerdem hat das Anheften der Versionen dies fĂŒr mich nicht behoben. Nichts in diesem Thread hat.

@loctrice Was ist Ihre TypeScript-Version von node_modules/typescript/package.json und Knotenversion von node_modules/@types/node/package.json ?

typescript ist 2.3.4 und node ist 8.0.5

@loctrice Ich kann das mit diesen Versionen nicht reproduzieren. Ich bin in einem leeren Verzeichnis und habe diese gerade installiert. Was ist in Ihrem tsconfig ? Können Sie versuchen, eine kleine Repro zu bekommen?
Meinten Sie ĂŒbrigens 8.0.50 statt 8.0.5 ? Habe es aber mit beiden getestet und keine Fehlermeldung erhalten.

Ich bin mir nicht sicher, was meine tsconfig sein soll. Ich habe mich damit beschĂ€ftigt, @types aktualisiert geĂ€ndert , die ich gesehen habe, nur um zu sehen, ob etwas funktioniert. Dies ist mein letzter Fehler, und vor heute hatte ich ĂŒberhaupt keine Libs eingegeben. Nichts, was ich hinzugefĂŒgt habe, hat eine Wirkung gezeigt:

{
"compilerOptions": {
"ziel": "es5",
"modul": "system",
"moduleResolution": "Knoten",
"sourceMap": falsch,
"emitDecoratorMetadata": wahr,
"experimentalDecorators": wahr,
"removeComments": wahr,
"noImplicitAny": falsch,
"typeRoots": [
"./node_modules/@types"
],
"lib": [
"es2015",
"es6",
"dom",
"dom.iterable"
]
},

Ich kann einen Fehler mit diesen installierten Versionen und diesem tsconfig.json nicht reproduzieren.

  • mkdir-Repro; CD-Repro`
  • fĂŒgen Sie diesen Inhalt in tsconfig.json ein (und fĂŒgen Sie die Endung } )
  • npm install @types/[email protected] [email protected]
  • echo "" > a.ts
  • node node_modules/typescript/lib/tsc.js
  • Kein Fehler

Dies hilft mir, mit der Fehlersuche zu beginnen. Ich werde anfangen, meine Eingaben nacheinander hinzuzufĂŒgen, um zu sehen, wo das Problem in meinem angle2-Projekt liegt.

es sieht so aus, als ob dies durch die von mir installierten Eingaben von core-js und es6 verursacht werden könnte. Wenn ich core-js entferne, erhalte ich Fehler von Funktionen wie "Promise is a type", die ich gestern behoben habe, indem ich die Version von core-js an 0.9.35 angeheftet habe. Hier meine Eingaben:

chai: "^4.0.4",
core-js: "0.9.35",
Knoten: "^8.0.50",
Openlayer: "^4.1.0",
systemjs: "^0.20.6",

Es sieht so aus, als ob der Konflikt darin liegt, dass in core-js in Zeile 504 eine Definition fĂŒr iterator: symbol und in den Knotentypisierungen in Zeile 54 eine Definition von readonly iterator: symbol , die beide manuell in Ă€ndert match wird mein Projekt zum Kompilieren bringen.

Ich versuche, die Angular2-Elektronen-Boilerplate zu aktualisieren und zu funktionieren. Ich bekomme diesen Fehler:

node_modules/@types/node/index.d.ts(79,14): error TS2687: All declarations of 'iterator' must have identical modifiers.

79     readonly iterator: symbol;
                ~~~~~~~~
phil<strong i="9">@Loki</strong> ~/d/g/s/g/o/angular2-electron-boilerplate (master) [130]> 
grep -rnE 'iterator:\s+symbol' node_modules/
node_modules//@types/node/index.d.ts:79:    readonly iterator: symbol;
node_modules//typescript/lib/lib.es2015.iterable.d.ts:28:    readonly iterator: symbol;
node_modules//typescript/lib/lib.es6.d.ts:4763:    readonly iterator: symbol;
node_modules//reflect-metadata/Reflect.ts:95:    declare const Symbol: { iterator: symbol, toPrimitive: symbol };

Versionen:

@philipbel hast du es

Gibt es eine dauerhafte Lösung fĂŒr das von @loctrice beschriebene Problem?

Nein, habe ich nicht.

Am 2. Januar 2018 um 2:11 schrieb Smackzter [email protected] :

@philipbel hast du es

—
Sie erhalten dies, weil Sie erwÀhnt wurden.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder schalten Sie den Thread stumm.

@philipbel Anscheinend liegt das Problem in reflect-metadata . Neugierig, wie Sie mit Reflect.ts statt mit Reflect.d.ts kompiliert haben.

@loctrice durch manuelles Bearbeiten von core-js kann mein Projekt kompiliert werden, aber können wir eine bessere Lösung haben?

versucht mit @types/ node @

@thanhngvpt Ich anbieten . Ich war schließlich gezwungen, mein Projekt zu aktualisieren, und damit die meisten Pakete, und alles schien in Ordnung zu sein.

Um das zu lösen

npm i [email protected] --save

Mein Build ist von nirgendwo kaputt!! Dieses Problem wird weiterhin angezeigt.

mein env

Ionic:

   Ionic CLI          : 5.2.3 (C\\\\node_modules\ionic)
   Ionic Framework    : ionic-angular 3.9.5
   @ionic/app-scripts : 3.2.2

Cordova:

   Cordova CLI       : 8.0.0
   Cordova Platforms : android 8.0.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 20 other plugins)

Utility:

   cordova-res : 0.8.1
   native-run  : 1.0.0

System:

   Android SDK Tools : 26.1.1 (C:\\\\AppData\Local\Android\Sdk)
   NodeJS            : v10.15.3 (C:\Program Files\nodejs\node.exe)
   npm               : 6.4.1
   OS                : Windows 10
Typescript is 2.5

Ja, nichts, was ich tue, scheint dieses Problem zu beheben. Ich habe keine lib Definition in meinem tsconfig.json und bin von den Informationen in diesem Thread völlig verwirrt. Dies ist meine tsconfig.json Datei:

{
    "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "moduleResolution": "node",
        "rootDir": "src",
        "outDir": "out",
        "forceConsistentCasingInFileNames": true,
        "noUnusedLocals": true,
        "noUnusedParameters": true,
        "pretty": true,
        "declaration": true
    }
}

Was soll ich genau tun, damit die folgenden Compilerfehler nicht mehr erzeugt werden, auf die ich absolut keine Kontrolle habe?

node_modules/vscode/vscode.d.ts:534:3 - error TS2687: All declarations of 'textEditor' must have identical modifiers.

534     textEditor: TextEditor;
        ~~~~~~~~~~

node_modules/vscode/vscode.d.ts:8363:3 - error TS2687: All declarations of 'body' must have identical modifiers.

8363    body?: any;
        ~~~~

AbhÀngigkeiten:

"devDependencies": {
  "@types/node": "^8.10.59",
  "@types/vscode": "^1.1.36",
  "rimraf": "^3.0.0",
  "tslint": "^5.20.1",
  "tslint-config-xo": "^2.0.0",
  "typescript": "^3.7.4",
  "vscode": "^1.1.36"
}

Es scheint, als ob das HinzufĂŒgen von "skipLibCheck": true zu meinem tsconfig.json die Compilerfehler beseitigt hĂ€tte. Ich bin mir jedoch nicht sicher, ob es eine gute Idee ist, keine TypprĂŒfung gegen verwendete Bibliotheken durchzufĂŒhren.

{
    "compilerOptions": {
        "skipLibCheck": true
    }
}
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen