@types/d3
وواجهت مشاكل.أحاول التحديث من d3 v4.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' بالفعل بتصدير عضو باسم 'schemCategory10'. ضع في اعتبارك إعادة التصدير صراحةً لحل الغموض.
إذا كان هناك أي فرق ، فسيتم تجميع تطبيقي باستخدام angular-cli (webpack) ويشير إلى d3
في المصفوفة types
في tsconfig.app.json.
لست متأكدًا مما إذا كان هذا خاصًا بإعداداتي بطريقة ما ، أو إذا كان خطأ - لذا سأقدر المساعدة من أي شخص يعرف المزيد عن هذا الأمر.
@ matt-senseye لست متأكدًا من سبب إضافة d3
إلى المصفوفة types
في tsconfig.app.json
، فلا داعي للقيام بذلك. يجب أن تتناول وحدات TS القياسية / دقة الكتابة كل شيء.
هل لديك ما package-lock.json
أو yarn
للتحقق من التبعيات التي تم تثبيتها لـ d3
و @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 والنوع أولاً ، ثم إضافة الحزم مرة أخرى في أحدث إصداراتها يبدو أنها تحل المشكلة. ما يلي هو الحيلة: