@types/d3
e tive problemas.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.
@ 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:
Isso é normal? Não devo instalar d3
mas sim cada pacote separado?
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 executeiyarn 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: