Desde 7.0.8, al usar
node_modules/@types/node/index.d.ts (50,14): error TS2687: Todas las declaraciones de 'iterator' deben tener modificadores idénticos.
Nuestro 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"
]
}
Los conflictos son entre @ tipos / línea de nodo 50 y @ tipos / core-js, línea 504 (iterador: símbolo)
El mismo problema para mí también. 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"
]
}
Obviamente, el modificador readonly
antes de iterator
fue un error. O core-js está mal.
El mismo problema aquí, todas mis compilaciones se rompieron de la noche a la mañana.
nuestro 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"
]
}
También tengo este problema. Hemos arreglado nuestra versión de @ types / node a 7.0.7 por el momento, que todavía funciona. Publicar aquí principalmente para rastrear el problema.
También estamos teniendo este mismo problema. Rompió todo.
+1 mismo problema.
Exactamente lo mismo aquí.
Aquí igual,
anclado temporalmente a 7.0.7.
+1 igual
Tengo el mismo problema.
Volver a @types/node": "7.0.7"
soluciona el problema
funciona para mí ahora con la eliminación de core-js y el uso de @ types / [email protected] y tsconfig: "lib": ["es7"]
Aquí igual. Volver a @ tipos / nodo ":" 7.0.7 "soluciona el problema. Marcado para realizar un seguimiento del progreso.
Debe ser corregido por # 15108. Tenga en cuenta que es posible que deba cambiar "lib" en su tsconfig, ya que los tipos como Iterator
ya no los proporciona core-js
.
@ andy-ms, ¿qué sugieres que cambiemos "lib" a?
@baywet Lo que lib
debería ser depende de tu proyecto. Por ejemplo, mi proyecto se compila en ES5 pero necesita core-js
para rellenar algunas funciones de ES6. Este es mi lib
:
"lib": [
"es6"
"dom"
]
Consulte --lib
en los documentos de opciones del
¿Qué archivo debo cambiar exactamente la versión de @ types / node ":" 7.0.7 "?
Una búsqueda en el directorio revela que tengo 2 entradas de este tipo:
¿Cuál cambio o cambio a ambos?
Ambos están en node_modules
, por lo que presumiblemente no están registrados y no se pueden cambiar directamente. La herramienta de instalación que utilice (por ejemplo, npm
o jspm
) debe tener documentación que describa cómo instalar paquetes y configurar sus versiones.
Pero como indica la discusión anterior, es mejor usar las versiones más recientes de todas las bibliotecas y configurar correctamente --lib
en su tsconfig.json
.
Una instalación adecuada tendrá una versión con ^ como primer carácter en package.json (s), para obtener la última versión. Con respecto a los problemas de
En entornos de preproducción y producción, es posible que deba hacer lo mismo.
@harrietsCreativeDabblets debería poder incluir lo siguiente en las devDependencies de su proyecto (dentro de ng-start/package.json
):
"@types/node": "7.0.7"
Dado que esto satisface el jspm-config
semver, se asegurará de que su versión de @types/node
quede bloqueada en 7.0.7
. Tenga en cuenta que si esto no satisface el jspm-config
semver, terminaría con definiciones duplicadas.
Asegúrese de eliminar su node_modules
y npm i
después de modificar su paquete de proyectos.json.
@ pe8ter Gracias por la precisión. Terminé actualizando a @ types / [email protected] e hice estos cambios en mi tsconfig.json, manteniendo así la compatibilidad con IE11.
"lib": [
"dom",
"dom.iterable",
"es2015",
"scripthost"
],
Mismo problema aquí; resuelto con la degradación de la versión 7.0.7
Mismo problema aquí; resuelto con la degradación de la versión 7.0.7
No parece que esto se haya resuelto, y usar la versión 7.0.7 para siempre no es lógico. Además, fijar las versiones no solucionó esto para mí. Nada en este hilo tiene.
@loctrice ¿Cuál es su versión de TypeScript de node_modules/typescript/package.json
y la versión de nodo de node_modules/@types/node/package.json
?
mecanografiado es 2.3.4 y nodo es 8.0.5
@loctrice No puedo reproducir esto con esas versiones. Estoy en un directorio en blanco y acabo de instalarlos. ¿Qué hay en tu tsconfig
? ¿Puedes intentar conseguir una pequeña reproducción?
Por cierto, ¿quiso decir 8.0.50
lugar de 8.0.5
? Sin embargo, probado con ambos y no obtuve ningún error.
No estoy seguro de cuál debería ser mi tsconfig. He estado dando vueltas en esto después de actualizar de los viejos mecanografiados a @types, así que lo he estado cambiando en función de los hilos que he visto, solo para ver si algo funciona. Este es mi último error, y antes de hoy no había ingresado ninguna biblioteca. Nada de lo que agregué ha tenido efecto:
{
"compilerOptions": {
"target": "es5",
"módulo": "sistema",
"moduleResolution": "nodo",
"sourceMap": falso,
"emitDecoratorMetadata": verdadero,
"experimentalDecorators": verdadero,
"removeComments": verdadero,
"noImplicitAny": falso,
"typeRoots": [
"./node_modules/@types"
],
"lib": [
"es2015",
"es6",
"dom",
"dom.iterable"
]
},
No puedo reproducir un error con esas versiones instaladas y ese tsconfig.json
.
}
)npm install @types/[email protected] [email protected]
echo "" > a.ts
node node_modules/typescript/lib/tsc.js
Esto me ayuda a empezar a solucionar problemas. Voy a comenzar a agregar mis mecanografiados uno a la vez para ver dónde está el problema en mi proyecto angular2.
parece que esto podría deberse a los tipos de core-js y es6 que había instalado. Si elimino core-js, obtengo errores de funciones como "Promise is a type" que arreglé ayer fijando la versión de core-js en 0.9.35. Aquí están mis tipificaciones:
chai: "^ 4.0.4",
core-js: "0.9.35",
nodo: "^ 8.0.50",
openlayers: "^ 4.1.0",
systemjs: "^ 0.20.6",
Parece que el conflicto se debe a que en core-js en la línea 504 hay una definición para iterator: symbol
y en los tipos de nodos en la línea 54 hay una definición de readonly iterator: symbol
cambiando cualquiera de estos manualmente a Match hará que mi proyecto se compile.
Estoy tratando de actualizar y funcionar angular2-electron-boilerplate . Recibo este error:
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 };
Versiones:
@philipbel , ¿lo
¿Hay una solución permanente al problema que describe @loctrice ?
No, no lo he hecho.
El 2 de enero de 2018, a las 2:11, Smackzter [email protected] escribió:
@philipbel , ¿lo
-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub o silencia el hilo.
@philipbel Parece que el problema está en reflect-metadata
. Es curioso cómo terminó compilando con Reflect.ts
lugar de Reflect.d.ts
.
@loctrice editando manualmente core-js mi proyecto puede compilarse, pero ¿podemos tener una mejor solución?
probado con @ types / [email protected] funcionó bien
@thanhngvpt No contribuyo a este proyecto, así que no puedo ofrecer una solución. Finalmente me vi obligado a actualizar mi proyecto, y con eso la mayoría de los paquetes, y todo parecía estar bien.
Para resolver esto
npm i [email protected] --save
¡Mi construcción se rompió de la nada! Este problema todavía se muestra.
Mi 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
Sí, nada de lo que hago parece solucionar este problema. No tengo una definición de lib
en mi tsconfig.json
y estoy completamente desconcertado por la información proporcionada en este hilo. Este es mi archivo tsconfig.json
:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"moduleResolution": "node",
"rootDir": "src",
"outDir": "out",
"forceConsistentCasingInFileNames": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"pretty": true,
"declaration": true
}
}
¿Exactamente qué debo hacer al respecto que dejará de producir los siguientes errores del compilador sobre los que no tengo absolutamente ningún control?
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;
~~~~
Dependencias:
"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"
}
Parece que agregar "skipLibCheck": true
a mi tsconfig.json
eliminó los errores del compilador. Sin embargo, no estoy seguro de que sea una buena idea no verificar el tipo de las bibliotecas usadas.
{
"compilerOptions": {
"skipLibCheck": true
}
}
Comentario más útil
@harrietsCreativeDabblets debería poder incluir lo siguiente en las devDependencies de su proyecto (dentro de
ng-start/package.json
):"@types/node": "7.0.7"
Dado que esto satisface el
jspm-config
semver, se asegurará de que su versión de@types/node
quede bloqueada en7.0.7
. Tenga en cuenta que si esto no satisface eljspm-config
semver, terminaría con definiciones duplicadas.Asegúrese de eliminar su
node_modules
ynpm i
después de modificar su paquete de proyectos.json.