شکست سازگاری با عقب در یک بسته محبوب NPM باعث خرابی پروژه‌های مختلف شده است.

مخزن NPM به دلیل مشکلاتی که در نسخه جدید یکی از وابستگی‌های محبوب وجود دارد، یک قطع بزرگ دیگر از پروژه‌ها را تجربه می‌کند. منبع مشکلات انتشار جدید بسته mini-css-extract-plugin 2.5.0 بود که برای استخراج CSS در فایل های جداگانه طراحی شده بود. این بسته دارای بیش از 10 میلیون بارگیری در هفته است و به عنوان یک وابستگی مستقیم به بیش از 7 هزار پروژه استفاده می شود.

در نسخه جدید، تغییراتی ایجاد شد که سازگاری با عقب را هنگام وارد کردن کتابخانه نقض کرد و منجر به خطا در هنگام تلاش برای استفاده از اعتبار قبلی و شرح داده شده در ساختار مستندات "const MiniCssExtractPlugin = need('mini-css-extract-plugin') شد. "، که هنگام تغییر به نسخه جدید باید با "const MiniCssExtractPlugin = require("mini-css-extract-plugin"). پیش فرض جایگزین شود.

مشکل خود را در پروژه‌هایی نشان می‌دهد که در هنگام اضافه کردن وابستگی‌ها، به صراحت به شماره نسخه متصل نمی‌شوند. به عنوان یک راه حل، توصیه می شود پیوند به نسخه قبلی 2.4.5 را با افزودن '"overrides": {"mini-css-extract-plugin": "2.4.5"}' در Yarn یا با استفاده از دستور "تعیین کنید. npm i -D" --save-exact [ایمیل محافظت شده]"در NPM.

در میان قربانیان، کاربران بسته Cre-react-app توسعه یافته توسط فیس بوک بودند که به عنوان یک وابستگی، mini-css-extract-plugin را به هم متصل می کند. به دلیل عدم اتصال به شماره نسخه mini-css-extract-plugin، تلاش‌ها برای راه‌اندازی برنامه create-react با خطای «TypeError: MiniCssExtractPlugin سازنده نیست» به پایان رسید. این مشکل بسته‌های @wordpress/scripts، @auth0/auth0-spa-js، sql-formatter-gui، LedgerSMB، vip-go-mu-plugins، cybros، vue-cli، chore و غیره را نیز تحت تأثیر قرار داد.

منبع: opennet.ru

اضافه کردن نظر