Gatsby: [v2] خطأ: لا يمكن العثور على الوحدة النمطية "core-js / modules / es6.array.filter"

تم إنشاؤها على ٤ سبتمبر ٢٠١٨  ·  25تعليقات  ·  مصدر: gatsbyjs/gatsby

وصف

يُرجع gatsby develop الخطأ أعلاه

خطوات التكاثر

لقد قمت بترقية موقع من الإصدار 2 إلى الإصدار 2 عن طريق نسخ التبعيات والوحدات والصفحات الخاصة بي واتباع الدليل هنا: https://next.gatsbyjs.org/docs/migrating-from-v1-to-v2/

بيئة

  System:
    OS: macOS High Sierra 10.13.6
    CPU: x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
    Shell: 5.3 - /bin/zsh
  Binaries:
    Node: 8.11.3 - /usr/local/bin/node
    Yarn: 1.7.0 - /usr/local/bin/yarn
    npm: 6.4.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 68.0.3440.106
    Safari: 11.1.2
  npmPackages:
    gatsby: 2.0.0-rc.9 => 2.0.0-rc.9 
    gatsby-plugin-canonical-urls: ^2.0.0-rc.1 => 2.0.0-rc.1 
    gatsby-plugin-google-tagmanager: ^2.0.0-rc.1 => 2.0.0-rc.1 
    gatsby-plugin-manifest: next => 2.0.2-rc.1 
    gatsby-plugin-offline: next => 2.0.0-rc.2 
    gatsby-plugin-react-helmet: ^3.0.0-rc.1 => 3.0.0-rc.1 
    gatsby-plugin-remove-trailing-slashes: ^2.0.0-rc.1 => 2.0.0-rc.1 
    gatsby-plugin-robots-txt: ^1.3.0 => 1.3.0 
    gatsby-plugin-sitemap: ^2.0.0-rc.1 => 2.0.0-rc.1 
    gatsby-plugin-styled-components: ^3.0.0-rc.1 => 3.0.0-rc.1 
    gatsby-source-apiserver: ^1.3.1 => 1.3.1 
    gatsby-source-filesystem: ^2.0.1-rc.1 => 2.0.1-rc.1 
    gatsby-source-wordpress: ^3.0.0-rc.1 => 3.0.0-rc.1 
    gatsby-transformer-javascript-frontmatter: ^2.0.0-rc.2 => 2.0.0-rc.2 
    gatsby-transformer-json: ^2.1.1-rc.1 => 2.1.1-rc.1 
  npmGlobalPackages:
    gatsby-cli: 1.1.58

لقد حاولت تثبيت babel-preset-env وحذف node_modules وإعادة التثبيت.

التعليق الأكثر فائدة

شكرا بيه نعم حاولت ذلك ، لا تذهب أنا خائف.

لقد قمت بالفعل بإصلاح هذا الأمر عن طريق تشغيل npm install --save core-js

ال 25 كومينتر

هل يمكنك محاولة حذف ملفات القفل (yarn.lock / package-lock.json) و node_modules وإعادة التثبيت مرة أخرى؟

شكرا بيه نعم حاولت ذلك ، لا تذهب أنا خائف.

لقد قمت بالفعل بإصلاح هذا الأمر عن طريق تشغيل npm install --save core-js

مذهل!

هل لا يزال لديك ناتج خطأ كامل (مع تتبع المكدس)؟ سيكون من الجيد إصلاح ذلك إذا كان هذا متعلقًا بـ gatsby ولا يمثل مشكلة في إحدى حزم الجزء الثالث؟

واجهت Pieh نفس المشكلة وقمت بتحديدها لإزالة تبعية core-js في إصداراتهم التجريبية 7.0.0 ، قبل طرحها مرة أخرى في نسختهم النهائية.

@ kemorf وجدت جيدة! لدي نفس المشكلة أيضا.

واجهت Pieh نفس المشكلة وقمت بتحديدها لإزالة تبعية core-js في إصداراتهم التجريبية 7.0.0 ، قبل طرحها مرة أخرى في نسختهم النهائية.

صحيح ، هذا ليس شيئًا يمكن أن يصلحه gatsby صحيح؟

هل يحدث هذا الخطأ أيضًا في العقدة أو في المتصفح؟ بالتأكيد بحاجة إلى مزيد من المعلومات هنا ، لمعرفة ما إذا كان هذا أمرًا يجب أن يكون مشكلة هنا بالفعل أو شيء حدث في المنبع وليس لدينا سيطرة عليه: /

لا أعتقد أن gatsby يجب أن يحاول إصلاح هذا. كان هناك الكثير من مشاريع React المختلفة التي فشلت عندما كان هذا يحدث ، لذا أضاف المستخدمون core-js إلى devDependencies الخاصة بهم. لم أواجه هذه المشكلة منذ إصدار babel 7.0.0 .

دعنا نغلق هذا الآن ثم (مرة أخرى :))

واجهت المشكلة مرة أخرى للتو. أرفق التزامًا في gatsby-node.js . أعتقد أنني حصلت على الخطأ عندما استخدمت _.each بدلاً من .forEach .

screen shot 2018-09-05 at 6 42 24 pm

لقد تأثرت أيضًا بهذه المشكلة وأعتقد أنه يمكن إرجاعها إلى تغييرات Babel 7 لحزمة @babel/polyfill . راجع أيضًا mdx-js / mdx # 271 للحصول على وصف تفصيلي لتحليلي الحالي. الحل الوحيد حاليًا للتخلص من هذا هو إضافة @babel/polyfill كاعتماد على dev والذي ، كما هو موضح في دليل الترحيل المرتبط أعلاه ، أصبح الآن أكثر أو أقل مجرد وكيل لحزمة core-js v2 .

أرى هذه المشكلة أيضًا ، ويمكنني أن أؤكد أن التغيير الأخير في Babel هو ما كسر البناء. نحقق الآن في كيفية إصلاح ذلك في Gatsby. (إضافة core-js إلى devDependencies لم تفعل شيئًا للبنية التي يمكنني تحديدها.)

secretfader يمكنك إضافة @babel/polyfill إلى devDependencies الخاص بك ، سيتم تحميل core-js polyfills الخاص بك تلقائيًا. تأكد من حذف مجلد node_modules وربما ملف package-lock.json وقم بتشغيل npm install لتبدأ بشجرة تبعية تم حلها.

يمكنني إعادة إنتاج المشكلة. إذا كنت تبحث عن مستودع نسخ ، يعد https://github.com/mui-org/material-ui/blob/master/examples/gatsby/README.md خيارًا جيدًا.

secretfader يمكنك إضافة @babel/polyfill إلى devDependencies الخاص بك ، سيتم تحميل core-js polyfills الخاص بك تلقائيًا. تأكد من حذف مجلد node_modules وربما ملف package-lock.json وقم بتشغيل npm install لتبدأ بشجرة تبعية تم حلها.

لم تنجح إضافة "@babel/polyfill": "^7.0.0", واتباع هذه الإرشادات بالنسبة لي.
لقد نجحت إضافة core-js npm install --save core-js .

@ ben-rogerson كان يجب أن أقوم بتحديث تعليقي ، لأن الخطأ حدث مرة أخرى بعد أن أزلت package-lock.json . يبدو أنه لم يتم حل التبعيات بشكل صحيح ، ولكن من المفارقات أنها نجحت بعد القيام بذلك. أحيانًا يكون npm لغزًا لحيدات قوس قزح: roll_eyes: أيضًا في mdx-js / mdx # 271 ، نشر المشرف أنه لم يعمل مع npm ، ولكن عند استخدام yarn كل شيء يسير على ما يرام.

سأتلاعب بالنتائج عند إضافة core-js أو @babel/polyfill كتبعية ، لكنني أشعر بالفضول عن سبب نجاحها بعد ذلك لأن core-js تم حلها بالفعل من خلال gatsby وبدون استيراد polyfill بشكل صريح في الكود ، لا أرى أي فرق بين الحل devDependencies .

مجرد لمعلوماتك ، لكنني قمت مؤخرًا بالتبديل من Yarn إلى NPM على أحد مواقع Gatsby الخاصة بي ولدي هذه المشكلة.

كما تنص arcticicestudio ، يبدو الأمر غريبًا بشكل خاص نظرًا لأن gatsby يسرد core-js كإعالة .

معلومات إضافية: بعد تنظيف .cache و node_modules و package-lock.json وتثبيت الوحدات مرة أخرى عبر npm ، حصلت
WebpackError: Cannot find module 'core-js/modules/es6.array.sort'
يؤدي تثبيت core-js إلى إصلاح المشكلة مباشرةً.

إضافة الغزل الأساسية شبيبة
إذا كنت لا تزال غير قادر على حذف node_modules ، فاستخدم الغزل للتثبيت ، فلا تستخدم cnpm للتثبيت ؛

أنا أواجه هذه المشكلة أيضًا.

في الأصل كنت أقوم بتشغيل إصدار Storybook 5.1.0-alpha.X . إذا قمت بتشغيل yarn why core-js فإن الإصدار السائد من core-js (الذي تم رفعه إلى core-js ) هو 2.6.5 .

بعد التحديث إلى Storybook 5.1.0-beta.0 اليوم ، أصبحت النسخة المرفوعة من core-js 3.0.1 ، ولسبب ما ، حطمت بنية Gatsby.

لماذا لا يحل Gatsby الإصدار الفعلي لـ core-js من تبعياته؟

لقد جربت الحل البديل المتمثل في إضافة core-js إلى devDependencies مباشرة ولكن ذلك لم يحل المشكلة.

كان لي نفس القضية.

تم إصلاح الإصدار السابق من إصدار core-js إلى 2.6.5 (تبعية dev).

npm install --save core-js لم يعد يعمل.

استخدم npm install --save --dev [email protected] بدلاً من ذلك.

ومع ذلك ، حاول تشغيل npm install --dev [email protected] في دليل المشروع حتى لا تحفظه عالميًا.

إذا لم ينجح السابق ، فاستخدم:

npm install --save [email protected] -g

هذا يعمل ولكن لا تفعل ذلك

أفترض أن سبب هذه المشكلة هو أنني استخدمت npm للتحديث والعمل على مشروع بدأ في البداية بـ yarn . ومن هنا الفوضى. كما أشار استوديو القطب الشمالي.

إذا لم ينجح السابق ، فاستخدم:

npm install --save [email protected] -g

يعد تثبيت مثل هذه الحزم عالميًا فكرة سيئة حقًا ولا يوجد سبب للقيام بذلك. إذا كنت تواجه مشكلات عند التثبيت محليًا (مع الإصدار المثبت) ، فقد يكون ذلك بسبب أنك قمت بالفعل بتثبيت حزم أخرى على مستوى العالم مما تسبب في حدوث تعارضات الآن.
أعتقد أن المشكلة الرئيسية لهذه التذكرة هي npm . يبدو أنه لا يحل شجرة التبعية بشكل صحيح. لقد قمت بالتبديل إلى yarn في العام الماضي (بسبب _ مساحات العمل_ بشكل رئيسي) ولم أواجه أي مشاكل مرة أخرى. أعتقد أن مستخدمي _npm_ بحاجة إلى استخدام الحل البديل عن طريق تثبيت الإصدار وآمل أن _npm_ 8 (التي سيتم تشغيلها بواسطة tink lib الجديد ، والتي تم الإعلان عنها في منشور المدونة yarn للمشاريع القائمة على جاتسبي).

شكرا بيه نعم حاولت ذلك ، لا تذهب أنا خائف.

لقد قمت بالفعل بإصلاح هذا الأمر عن طريق تشغيل npm install --save core-js

حصلت عليه العمل بفضل هذا!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

hobochild picture hobochild  ·  3تعليقات

ferMartz picture ferMartz  ·  3تعليقات

benstr picture benstr  ·  3تعليقات

dustinhorton picture dustinhorton  ·  3تعليقات

andykais picture andykais  ·  3تعليقات