Definitelytyped: [d3] O módulo 'd3-scale' já exportou um membro chamado 'interpolateCool'. Considere explicitamente reexportar para resolver a ambigüidade.

Criado em 27 mar. 2018  ·  3Comentários  ·  Fonte: DefinitelyTyped/DefinitelyTyped

  • Tentei usar o pacote @types/d3 e tive problemas.
  • Autores: @tomwanzek @gustavderdrache @borisyankov

Estou tentando atualizar de d3 v4.x para 5.0, com as seguintes dependências:

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

Quando eu compilo o aplicativo, vejo:

ERROR in node_modules/@types/d3/index.d.ts (37,1): erro TS2308: Módulo 'd3-scale' já exportou um membro chamado 'interpolateCool'. Considere explicitamente reexportar para resolver a ambigüidade.
node_modules/@types/d3/index.d.ts (37,1): erro TS2308: O módulo 'd3-scale' já exportou um membro denominado 'interpolateCubehelixDefault'. Considere explicitamente reexportar para resolver a ambigüidade.
node_modules/@types/d3/index.d.ts (37,1): erro TS2308: O módulo 'd3-scale' já exportou um membro chamado 'interpolateInferno'. Considere explicitamente reexportar para resolver a ambigüidade.
node_modules/@types/d3/index.d.ts (37,1): erro TS2308: O módulo 'd3-scale' já exportou um membro denominado 'interpolateMagma'. Considere explicitamente reexportar para resolver a ambigüidade.
node_modules/@types/d3/index.d.ts (37,1): erro TS2308: O módulo 'd3-scale' já exportou um membro denominado 'interpolatePlasma'. Considere explicitamente reexportar para resolver a ambigüidade.
node_modules/@types/d3/index.d.ts (37,1): erro TS2308: O módulo 'd3-scale' já exportou um membro denominado 'interpolateRainbow'. Considere explicitamente reexportar para resolver a ambigüidade.
node_modules/@types/d3/index.d.ts (37,1): erro TS2308: O módulo 'd3-scale' já exportou um membro denominado 'interpolateViridis'. Considere explicitamente reexportar para resolver a ambigüidade.
node_modules/@types/d3/index.d.ts (37,1): erro TS2308: O módulo 'd3-scale' já exportou um membro chamado 'interpolateWarm'. Considere explicitamente reexportar para resolver a ambigüidade.
node_modules/@types/d3/index.d.ts (37,1): erro TS2308: O módulo 'd3-scale' já exportou um membro chamado 'schemeCategory10'. Considere explicitamente reexportar para resolver a ambigüidade.

Se fizer alguma diferença, meu aplicativo é compilado usando angular-cli (webpack) e faz referência a d3 no array types em tsconfig.app.json.

Não tenho certeza se isso é específico da minha configuração de alguma forma ou se é um bug - então, gostaria de receber a ajuda de qualquer pessoa que saiba mais sobre isso.

Comentários muito úteis

Obrigado @tomwanzek - sim, parecia haver algum tipo de conflito de versão estranho com as dependências referenciadas no meu arquivo yarn.lock.

Originalmente, eu apenas atualizei os números da versão em package.json e executei yarn install , o que por qualquer motivo resultou nos erros acima.

No entanto, remover d3 e as definições de tipo primeiro e, em seguida, adicionar os pacotes de volta em suas versões mais recentes parece resolver o problema. O seguinte funcionou:

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 comentários

@ matt-senseye Não sei por que você adicionaria d3 ao array types em tsconfig.app.json , não deve haver necessidade de fazer isso. A resolução de módulos / tipificações TS padrão deve abordar tudo.

Você tem um package-lock.json ou yarn equivalente para verificar as dependências que foram instaladas para d3 e @types/d3 ? Parece haver um conflito de versão entre d3-scale e d3-scale-chromatic . Os erros que você listou são todos recursos anteriores de [email protected] , que a partir de d3-scale@2 foram refatorados para d3-scale-chromatic . Portanto, sua instalação deve ter uma dependência implícita de d3-scale@2 .

Obrigado @tomwanzek - sim, parecia haver algum tipo de conflito de versão estranho com as dependências referenciadas no meu arquivo yarn.lock.

Originalmente, eu apenas atualizei os números da versão em package.json e executei yarn install , o que por qualquer motivo resultou nos erros acima.

No entanto, remover d3 e as definições de tipo primeiro e, em seguida, adicionar os pacotes de volta em suas versões mais recentes parece resolver o problema. O seguinte funcionou:

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

Eu tenho um erro muito parecido, mas

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

não resolve.

Quando eu navego para os próprios tipos, posso ver que d3-scale e d3-scale-chromatic às vezes exportam as mesmas funções:

Screen Shot 2019-05-06 at 13 25 10

Isso é normal? Não devo instalar d3 mas sim cada pacote separado?

Esta página foi útil?
0 / 5 - 0 avaliações