Definitelytyped: [d3] Modul 'd3-scale' telah mengekspor anggota bernama 'interpolateCool'. Pertimbangkan mengekspor ulang secara eksplisit untuk mengatasi ambiguitas.

Dibuat pada 27 Mar 2018  ·  3Komentar  ·  Sumber: DefinitelyTyped/DefinitelyTyped

  • Saya mencoba menggunakan paket @types/d3 dan mengalami masalah.
  • Penulis: @tomwanzek @gustavderdrache @borisyankov

Saya mencoba memperbarui dari d3 v4.x ke 5.0, dengan dependensi berikut:

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

Ketika saya mengkompilasi aplikasi saya melihat:

KESALAHAN di node_modules/@types/d3/index.d.ts(37,1): error TS2308: Modul 'd3-scale' telah mengekspor anggota bernama 'interpolateCool'. Pertimbangkan mengekspor ulang secara eksplisit untuk mengatasi ambiguitas.
node_modules/@types/d3/index.d.ts(37,1): error TS2308: Modul 'd3-scale' telah mengekspor anggota bernama 'interpolateCubehelixDefault'. Pertimbangkan mengekspor ulang secara eksplisit untuk mengatasi ambiguitas.
node_modules/@types/d3/index.d.ts(37,1): error TS2308: Modul 'd3-scale' telah mengekspor anggota bernama 'interpolateInferno'. Pertimbangkan mengekspor ulang secara eksplisit untuk mengatasi ambiguitas.
node_modules/@types/d3/index.d.ts(37,1): error TS2308: Modul 'd3-scale' telah mengekspor anggota bernama 'interpolateMagma'. Pertimbangkan mengekspor ulang secara eksplisit untuk mengatasi ambiguitas.
node_modules/@types/d3/index.d.ts(37,1): error TS2308: Modul 'd3-scale' telah mengekspor anggota bernama 'interpolatePlasma'. Pertimbangkan mengekspor ulang secara eksplisit untuk mengatasi ambiguitas.
node_modules/@types/d3/index.d.ts(37,1): error TS2308: Modul 'd3-scale' telah mengekspor anggota bernama 'interpolateRainbow'. Pertimbangkan mengekspor ulang secara eksplisit untuk mengatasi ambiguitas.
node_modules/@types/d3/index.d.ts(37,1): error TS2308: Modul 'd3-scale' telah mengekspor anggota bernama 'interpolateViridis'. Pertimbangkan mengekspor ulang secara eksplisit untuk mengatasi ambiguitas.
node_modules/@types/d3/index.d.ts(37,1): error TS2308: Modul 'd3-scale' telah mengekspor anggota bernama 'interpolateWarm'. Pertimbangkan mengekspor ulang secara eksplisit untuk mengatasi ambiguitas.
node_modules/@types/d3/index.d.ts(37,1): error TS2308: Modul 'd3-scale' telah mengekspor anggota bernama 'schemeCategory10'. Pertimbangkan mengekspor ulang secara eksplisit untuk mengatasi ambiguitas.

Jika ada bedanya, aplikasi saya dikompilasi menggunakan angular-cli (webpack) dan itu mereferensikan d3 dalam array types di tsconfig.app.json.

Saya tidak yakin apakah ini khusus untuk pengaturan saya, atau apakah itu bug - jadi akan sangat menghargai bantuan dari siapa saja yang tahu lebih banyak tentang ini.

Komentar yang paling membantu

Terima kasih @tomwanzek - ya sepertinya ini semacam konflik versi aneh dengan dependensi yang dirujuk dalam file yarn.lock saya.

Awalnya, saya baru saja memperbarui nomor versi di package.json dan menjalankan yarn install , yang karena alasan apa pun mengakibatkan kesalahan di atas.

Namun, menghapus d3 dan definisi tipe terlebih dahulu, lalu menambahkan paket kembali ke versi terbaru tampaknya menyelesaikannya. Berikut ini triknya:

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

Semua 3 komentar

@matt-senseye Saya tidak yakin mengapa Anda menambahkan d3 ke types array di tsconfig.app.json , seharusnya tidak perlu melakukannya. Resolusi modul/pengetikan TS standar harus mengatasi semuanya.

Apakah Anda memiliki package-lock.json atau yarn setara untuk memeriksa dependensi yang diinstal untuk d3 dan @types/d3 ? Tampaknya ada konflik versi antara d3-scale dan d3-scale-chromatic . Kesalahan yang Anda daftarkan adalah semua fitur sebelumnya dari [email protected] , yang pada d3-scale@2 telah difaktorkan ulang menjadi d3-scale-chromatic . Jadi, instalasi Anda harus memiliki ketergantungan tersirat pada d3-scale@2 .

Terima kasih @tomwanzek - ya sepertinya ini semacam konflik versi aneh dengan dependensi yang dirujuk dalam file yarn.lock saya.

Awalnya, saya baru saja memperbarui nomor versi di package.json dan menjalankan yarn install , yang karena alasan apa pun mengakibatkan kesalahan di atas.

Namun, menghapus d3 dan definisi tipe terlebih dahulu, lalu menambahkan paket kembali ke versi terbaru tampaknya menyelesaikannya. Berikut ini triknya:

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

Saya memiliki kesalahan yang sangat mirip, tapi

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

tidak menyelesaikannya.

Ketika saya menavigasi ke jenisnya sendiri, saya dapat melihat bahwa d3-scale dan d3-scale-chromatic terkadang mengekspor fungsi yang sama:

Screen Shot 2019-05-06 at 13 25 10

Apakah ini normal? Haruskah saya tidak menginstal d3 tetapi masing-masing paket terpisah?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat