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)
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:
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.
}
)npm install @types/[email protected] [email protected]
echo "" > a.ts
node node_modules/typescript/lib/tsc.js
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
}
}
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
auf7.0.7
gesperrt wird. Beachten Sie, dass Sie am Ende doppelte Definitionen erhalten wĂŒrden, wenn dies denjspm-config
Semver nicht erfĂŒllt.Stellen Sie sicher, dass Sie Ihre
node_modules
undnpm i
löschen, nachdem Sie Ihre Projekte package.json geÀndert haben.