@types/d3
パッケージを使用してみましたが、問題が発生しました。次の依存関係を使用して、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
配列のd3
をtypes
します。
これが何らかの形で私のセットアップに固有のものであるのか、それともバグであるのかはわかりません。そのため、これについて詳しく知っている人の助けをいただければ幸いです。
@ matt-senseye d3
のtypes
配列にtsconfig.app.json
d3
を追加する理由がわかりません。追加する必要はありません。 標準のTSモジュール/タイピング解像度はすべてに対応する必要があります。
d3
と@types/d3
インストールされた依存関係をチェックするのに相当するpackage-lock.json
またはyarn
@types/d3
ますか? d3-scale
とd3-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-scale
とd3-scale-chromatic
が同じ関数をエクスポートすることがあることがわかります。
これは正常ですか? d3
インストールするのではなく、それぞれ個別のパッケージをインストールする必要がありますか?
最も参考になるコメント
ありがとう@ tomwanzek-はい、yarn.lockファイルで参照されている依存関係とのある種の奇妙なバージョンの競合のようでした。
元々、
package.json
のバージョン番号を更新して、yarn install
を実行したところ、何らかの理由で上記のエラーが発生しました。ただし、最初にd3と型定義を削除してから、最新バージョンでパッケージを追加し直すと、問題が解決するようです。 以下はトリックをしました: