Definitelytyped: [d3] Le module 'd3-scale' a déjà exporté un membre nommé 'interpolateCool'. Envisagez de réexporter explicitement pour résoudre l'ambiguïté.

Créé le 27 mars 2018  ·  3Commentaires  ·  Source: DefinitelyTyped/DefinitelyTyped

  • J'ai essayé d'utiliser le package @types/d3 et j'ai eu des problèmes.
  • Auteurs : @tomwanzek @gustavderdrache @borisyankov

J'essaie de passer de d3 v4.x à 5.0, avec les dépendances suivantes :

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

Lorsque je compile l'application, je vois :

ERREUR dans node_modules/@types/d3/index.d.ts(37,1) : erreur TS2308 : le module 'd3-scale' a déjà exporté un membre nommé 'interpolateCool'. Envisagez de réexporter explicitement pour résoudre l'ambiguïté.
node_modules/@types/d3/index.d.ts(37,1) : erreur TS2308 : le module 'd3-scale' a déjà exporté un membre nommé 'interpolateCubehelixDefault'. Envisagez de réexporter explicitement pour résoudre l'ambiguïté.
node_modules/@types/d3/index.d.ts(37,1) : erreur TS2308 : le module 'd3-scale' a déjà exporté un membre nommé 'interpolateInferno'. Envisagez de réexporter explicitement pour résoudre l'ambiguïté.
node_modules/@types/d3/index.d.ts(37,1) : erreur TS2308 : le module 'd3-scale' a déjà exporté un membre nommé 'interpolateMagma'. Envisagez de réexporter explicitement pour résoudre l'ambiguïté.
node_modules/@types/d3/index.d.ts(37,1) : erreur TS2308 : le module 'd3-scale' a déjà exporté un membre nommé 'interpolatePlasma'. Envisagez de réexporter explicitement pour résoudre l'ambiguïté.
node_modules/@types/d3/index.d.ts(37,1) : erreur TS2308 : le module 'd3-scale' a déjà exporté un membre nommé 'interpolateRainbow'. Envisagez de réexporter explicitement pour résoudre l'ambiguïté.
node_modules/@types/d3/index.d.ts(37,1) : erreur TS2308 : le module 'd3-scale' a déjà exporté un membre nommé 'interpolateViridis'. Envisagez de réexporter explicitement pour résoudre l'ambiguïté.
node_modules/@types/d3/index.d.ts(37,1) : erreur TS2308 : le module 'd3-scale' a déjà exporté un membre nommé 'interpolateWarm'. Envisagez de réexporter explicitement pour résoudre l'ambiguïté.
node_modules/@types/d3/index.d.ts(37,1) : erreur TS2308 : le module 'd3-scale' a déjà exporté un membre nommé 'schemeCategory10'. Envisagez de réexporter explicitement pour résoudre l'ambiguïté.

Si cela fait une différence, mon application est compilée à l'aide de angular-cli (webpack) et fait référence à d3 dans le tableau types dans tsconfig.app.json.

Je ne sais pas si cela est spécifique à ma configuration d'une manière ou d'une autre, ou s'il s'agit d'un bogue - j'apprécierais donc l'aide de quiconque en sait plus à ce sujet.

Commentaire le plus utile

Merci @tomwanzek - oui, cela semblait être une sorte de conflit de version étrange avec les dépendances référencées dans mon fichier fil.lock.

À l'origine, je viens de mettre à jour les numéros de version dans package.json et d'exécuter yarn install , ce qui, pour une raison quelconque, a entraîné les erreurs ci-dessus.

Cependant, supprimer d3 et les définitions de type en premier, puis rajouter les packages dans leurs dernières versions semble le résoudre. Ce qui suit a fait l'affaire:

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

Tous les 3 commentaires

@matt-senseye Je ne sais pas pourquoi vous ajouteriez d3 au tableau types dans tsconfig.app.json , cela ne devrait pas être nécessaire. La résolution standard des modules/dactylographies TS devrait tout traiter.

Avez-vous un équivalent package-lock.json ou yarn pour vérifier les dépendances qui ont été installées pour d3 et @types/d3 ? Il semble y avoir un conflit de version entre d3-scale et d3-scale-chromatic . Les erreurs que vous avez répertoriées sont toutes les anciennes fonctionnalités de [email protected] , qui à partir de d3-scale@2 ont été refactorisées en d3-scale-chromatic . Ainsi, votre installation devrait avoir une dépendance implicite sur d3-scale@2 .

Merci @tomwanzek - oui, cela semblait être une sorte de conflit de version étrange avec les dépendances référencées dans mon fichier fil.lock.

À l'origine, je viens de mettre à jour les numéros de version dans package.json et d'exécuter yarn install , ce qui, pour une raison quelconque, a entraîné les erreurs ci-dessus.

Cependant, supprimer d3 et les définitions de type en premier, puis rajouter les packages dans leurs dernières versions semble le résoudre. Ce qui suit a fait l'affaire:

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

J'ai une erreur très similaire, mais

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

ne le résout pas.

Lorsque je navigue vers les types eux-mêmes, je peux voir que d3-scale et d3-scale-chromatic exportent parfois les mêmes fonctions :

Screen Shot 2019-05-06 at 13 25 10

Est-ce normal? Ne devrais-je pas installer d3 mais chaque paquet séparé à la place ?

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

JWT
svipas picture svipas  ·  3Commentaires

ArtemZag picture ArtemZag  ·  3Commentaires

lilling picture lilling  ·  3Commentaires

jamespero picture jamespero  ·  3Commentaires

fasatrix picture fasatrix  ·  3Commentaires