Definitelytyped: @ tipos / nodo, No se puede compilar: node_modules/@types/node/index.d.ts (50,14): error TS2687: Todas las declaraciones de 'iterador' deben tener modificadores idénticos.

Creado en 10 mar. 2017  ·  41Comentarios  ·  Fuente: DefinitelyTyped/DefinitelyTyped

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)

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 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.

Todos 41 comentarios

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:

image

¿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 .

  • mkdir repro; cd repro`
  • pegue ese contenido en tsconfig.json (y agregue el final } )
  • npm install @types/[email protected] [email protected]
  • echo "" > a.ts
  • node node_modules/typescript/lib/tsc.js
  • No hay error

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
    }
}
¿Fue útil esta página
0 / 5 - 0 calificaciones