Definitelytyped: [d3]モジュール「d3-scale」はすでに「interpolateCool」という名前のメンバーをエクスポートしています。 あいまいさを解決するために、明示的に再エクスポートすることを検討してください。

作成日 2018年03月27日  ·  3コメント  ·  ソース: DefinitelyTyped/DefinitelyTyped

  • @types/d3パッケージを使用してみましたが、問題が発生しました。
  • 著者: @tomwanzek @gustavderdrache @borisyankov

次の依存関係を使用して、d3v4.xから5.0に更新しようとしています。

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

アプリをコンパイルすると、次のように表示されます。

node_modules / @ types / d3 / index.d.ts(37,1)のエラー:エラーTS2308:モジュール「d3-scale」はすでに「interpolateCool」という名前のメンバーをエクスポートしています。 あいまいさを解決するために、明示的に再エクスポートすることを検討してください。
node_modules / @ types / d3 / index.d.ts(37,1):エラーTS2308:モジュール「d3-scale」はすでに「interpolateCubehelixDefault」という名前のメンバーをエクスポートしています。 あいまいさを解決するために、明示的に再エクスポートすることを検討してください。
node_modules / @ types / d3 / index.d.ts(37,1):エラーTS2308:モジュール「d3-scale」はすでに「interpolateInferno」という名前のメンバーをエクスポートしています。 あいまいさを解決するために、明示的に再エクスポートすることを検討してください。
node_modules / @ types / d3 / index.d.ts(37,1):エラーTS2308:モジュール「d3-scale」はすでに「interpolateMagma」という名前のメンバーをエクスポートしています。 あいまいさを解決するために、明示的に再エクスポートすることを検討してください。
node_modules / @ types / d3 / index.d.ts(37,1):エラーTS2308:モジュール「d3-scale」はすでに「interpolatePlasma」という名前のメンバーをエクスポートしています。 あいまいさを解決するために、明示的に再エクスポートすることを検討してください。
node_modules / @ types / d3 / index.d.ts(37,1):エラーTS2308:モジュール「d3-scale」はすでに「interpolateRainbow」という名前のメンバーをエクスポートしています。 あいまいさを解決するために、明示的に再エクスポートすることを検討してください。
node_modules / @ types / d3 / index.d.ts(37,1):エラーTS2308:モジュール「d3-scale」はすでに「interpolateViridis」という名前のメンバーをエクスポートしています。 あいまいさを解決するために、明示的に再エクスポートすることを検討してください。
node_modules / @ types / d3 / index.d.ts(37,1):エラーTS2308:モジュール「d3-scale」はすでに「interpolateWarm」という名前のメンバーをエクスポートしています。 あいまいさを解決するために、明示的に再エクスポートすることを検討してください。
node_modules / @ types / d3 / index.d.ts(37,1):エラーTS2308:モジュール「d3-scale」はすでに「schemeCategory10」という名前のメンバーをエクスポートしています。 あいまいさを解決するために、明示的に再エクスポートすることを検討してください。

違いが生じる場合、私のアプリはangular-cli(webpack)を使用してコンパイルされ、tsconfig.app.jsonのtypes配列のd3typesします。

これが何らかの形で私のセットアップに固有のものであるのか、それともバグであるのかはわかりません。そのため、これについて詳しく知っている人の助けをいただければ幸いです。

最も参考になるコメント

ありがとう@ tomwanzek-はい、yarn.lockファイルで参照されている依存関係とのある種の奇妙なバージョンの競合のようでした。

元々、 package.jsonのバージョン番号を更新して、 yarn installを実行したところ、何らかの理由で上記のエラーが発生しました。

ただし、最初にd3と型定義を削除してから、最新バージョンでパッケージを追加し直すと、問題が解決するようです。 以下はトリックをしました:

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

全てのコメント3件

@ matt-senseye d3types配列にtsconfig.app.json d3を追加する理由がわかりません。追加する必要はありません。 標準のTSモジュール/タイピング解像度はすべてに対応する必要があります。

d3@types/d3インストールされた依存関係をチェックするのに相当するpackage-lock.jsonまたはyarn @types/d3ますか? d3-scaled3-scale-chromatic間にバージョンの競合があるようです。 リストしたエラーはすべて[email protected]以前の機能であり、 d3-scale@2時点でd3-scale-chromaticリファクタリングされています。 したがって、インストールにはd3-scale@2への暗黙の依存関係が必要です。

ありがとう@ tomwanzek-はい、yarn.lockファイルで参照されている依存関係とのある種の奇妙なバージョンの競合のようでした。

元々、 package.jsonのバージョン番号を更新して、 yarn installを実行したところ、何らかの理由で上記のエラーが発生しました。

ただし、最初にd3と型定義を削除してから、最新バージョンでパッケージを追加し直すと、問題が解決するようです。 以下はトリックをしました:

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

非常によく似たエラーがありますが

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

それを解決しません。

タイプ自体に移動すると、 d3-scaled3-scale-chromaticが同じ関数をエクスポートすることがあることがわかります。

Screen Shot 2019-05-06 at 13 25 10

これは正常ですか? d3インストールするのではなく、それぞれ個別のパッケージをインストールする必要がありますか?

このページは役に立ちましたか?
0 / 5 - 0 評価