Definitelytyped: [d3] El módulo 'd3-scale' ya ha exportado un miembro llamado 'interpolateCool'. Considere la posibilidad de reexportar explícitamente para resolver la ambigüedad.

Creado en 27 mar. 2018  ·  3Comentarios  ·  Fuente: DefinitelyTyped/DefinitelyTyped

  • Intenté usar el paquete @types/d3 y tuve problemas.
  • Autores: @tomwanzek @gustavderdrache @borisyankov

Estoy intentando actualizar de d3 v4.xa 5.0, con las siguientes dependencias:

"d3": "5.0.0",
"@types/d3": "5.0.0",

Cuando compilo la aplicación, veo:

ERROR en node_modules/@types/d3/index.d.ts (37,1): error TS2308: El módulo 'd3-scale' ya ha exportado un miembro llamado 'interpolateCool'. Considere la posibilidad de reexportar explícitamente para resolver la ambigüedad.
node_modules/@types/d3/index.d.ts (37,1): error TS2308: El módulo 'd3-scale' ya ha exportado un miembro llamado 'interpolateCubehelixDefault'. Considere la posibilidad de reexportar explícitamente para resolver la ambigüedad.
node_modules/@types/d3/index.d.ts (37,1): error TS2308: El módulo 'd3-scale' ya ha exportado un miembro llamado 'interpolateInferno'. Considere la posibilidad de reexportar explícitamente para resolver la ambigüedad.
node_modules/@types/d3/index.d.ts (37,1): error TS2308: El módulo 'd3-scale' ya ha exportado un miembro llamado 'interpolateMagma'. Considere la posibilidad de reexportar explícitamente para resolver la ambigüedad.
node_modules/@types/d3/index.d.ts (37,1): error TS2308: El módulo 'd3-scale' ya ha exportado un miembro llamado 'interpolatePlasma'. Considere la posibilidad de reexportar explícitamente para resolver la ambigüedad.
node_modules/@types/d3/index.d.ts (37,1): error TS2308: El módulo 'd3-scale' ya ha exportado un miembro llamado 'interpolateRainbow'. Considere la posibilidad de reexportar explícitamente para resolver la ambigüedad.
node_modules/@types/d3/index.d.ts (37,1): error TS2308: El módulo 'd3-scale' ya ha exportado un miembro llamado 'interpolateViridis'. Considere la posibilidad de reexportar explícitamente para resolver la ambigüedad.
node_modules/@types/d3/index.d.ts (37,1): error TS2308: El módulo 'd3-scale' ya ha exportado un miembro llamado 'interpolateWarm'. Considere la posibilidad de reexportar explícitamente para resolver la ambigüedad.
node_modules/@types/d3/index.d.ts (37,1): error TS2308: El módulo 'd3-scale' ya ha exportado un miembro llamado 'schemaCategory10'. Considere la posibilidad de reexportar explícitamente para resolver la ambigüedad.

Si hace alguna diferencia, mi aplicación se compila usando angular-cli (paquete web) y hace referencia a d3 en la matriz types en tsconfig.app.json.

No estoy seguro de si esto es específico de mi configuración de alguna manera, o si es un error, por lo que agradecería la ayuda de cualquiera que sepa más sobre esto.

Comentario más útil

Gracias @tomwanzek , sí, parecía ser una especie de conflicto de versión extraño con las dependencias a las que se hace referencia en mi archivo yarn.lock.

Originalmente, acabo de actualizar los números de versión en package.json y ejecuté yarn install , que por alguna razón resultó en los errores anteriores.

Sin embargo, eliminar d3 y las definiciones de tipo primero y luego volver a agregar los paquetes en sus últimas versiones parece resolverlo. Lo siguiente hizo el truco:

yarn remove <strong i="11">@d3</strong>
yarn remove @types/d3
yarn add <strong i="12">@d3</strong>
yarn add @types/d3 --dev

Todos 3 comentarios

@ matt-senseye No estoy seguro de por qué agregaría d3 a la matriz types en tsconfig.app.json , no debería ser necesario hacerlo. La resolución de tipificación / módulos TS estándar debe abordar todo.

¿Tiene un package-lock.json o yarn equivalente para verificar las dependencias que se instalaron para d3 y @types/d3 ? Parece haber un conflicto de versiones entre d3-scale y d3-scale-chromatic . Los errores que enumeró son todas características anteriores de [email protected] , que a partir de d3-scale@2 se han refactorizado a d3-scale-chromatic . Por lo tanto, su instalación debe tener una dependencia implícita en d3-scale@2 .

Gracias @tomwanzek , sí, parecía ser una especie de conflicto de versión extraño con las dependencias a las que se hace referencia en mi archivo yarn.lock.

Originalmente, acabo de actualizar los números de versión en package.json y ejecuté yarn install , que por alguna razón resultó en los errores anteriores.

Sin embargo, eliminar d3 y las definiciones de tipo primero y luego volver a agregar los paquetes en sus últimas versiones parece resolverlo. Lo siguiente hizo el truco:

yarn remove <strong i="11">@d3</strong>
yarn remove @types/d3
yarn add <strong i="12">@d3</strong>
yarn add @types/d3 --dev

Tengo un error muy similar, pero

npm remove --save-exact d3
npm remove --save-exact @types/d3
npm install --save-exact d3
npm install --save-exact -D @types/d3

no lo resuelve.

Cuando navego a los tipos en sí, puedo ver que d3-scale y d3-scale-chromatic veces exportan las mismas funciones:

Screen Shot 2019-05-06 at 13 25 10

¿Esto es normal? ¿No debería instalar d3 sino cada paquete por separado?

¿Fue útil esta página
0 / 5 - 0 calificaciones