از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
رفع “npm ERR! code ENOTEMPTY” روی npm نصب کنید
سرفصلهای مطلب
معرفی
در این بایت سعی خواهیم کرد به شما در درک و رفع یک خطای رایج npm کمک کنیم – “npm ERR! code ENOTEMPTY”. اگر با Node.js و npm کار کرده اید، به احتمال زیاد در مقطعی با این خطا مواجه شده اید. اما نگران نباشید، ما تمام تلاش خود را می کنیم تا آن را برای شما ابهام کنیم.
“npm ERR! code ENOTEMPTY” چیست؟
“npm ERR! code ENOTEMPTY” یک پیام خطایی است که npm، مدیر بسته Node.js، هنگامی که هنگام تلاش برای نصب یک بسته با یک دایرکتوری غیر خالی مواجه می شود، می دهد. قسمت “ENOTEMPTY” پیام خطا در واقع یک کد خطای استاندارد POSIX است که مخفف “Error, Not Empty” است. به زبان ساده تر، npm سعی می کند به ما بگوید که نمی تواند عملیات را انجام دهد زیرا دایرکتوری هدف خالی نیست.
توجه داشته باشید: استاندارد POSIX مجموعه ای از رابط های سیستم عامل را برای اطمینان از سازگاری بین سیستم های مختلف تعریف می کند. ‘ENOTEMPTY’ یکی از بسیاری از کدهای خطای تعریف شده در این استاندارد است.
علل رایج خطا
خطای “npm ERR! code ENOTEMPTY” معمولاً زمانی رخ می دهد که npm سعی می کند یک پوشه را با یک فایل در حین نصب جایگزین کند. process، اما متوجه می شود که دایرکتوری خالی نیست. این می تواند به دلایل مختلفی باشد:
- نصب همزمان: اگر چندین نصب npm را به طور همزمان اجرا می کنید، ممکن است با یکدیگر تداخل داشته باشند.
- باقیمانده نصب قبلی: اگر نصب قبلی npm قطع شده یا با موفقیت کامل نشده است، ممکن است برخی از فایلها را در دایرکتوری باقی گذاشته باشد.
- تغییرات دستی: اگر فایلها را به صورت دستی به فهرست node_modules اضافه کردهاید، npm ممکن است این خطا را هنگام بهروزرسانی یا جایگزینی یک بسته ایجاد کند.
حقیقت تاسف بار در مورد خطاهایی مانند این این است که شما ممکن است این کار را نکنید
روش رفع “npm ERR! code ENOTEMPTY”
اکنون که می دانیم چه چیزی باعث این خطا می شود، بیایید روش حل آن را بررسی کنیم.
-
node_modules را حذف کنید: ممکن است مشکلی در دایرکتوری node_modules شما وجود داشته باشد که مانع از نصب یک ماژول جدید توسط npm می شود. این می تواند یک وضعیت خراب ناشی از نصب ناموفق قبلی، تغییر دستی محتویات دایرکتوری یا چیز دیگری باشد. این معمولاً راه حلی است که برای اکثر مردم کار می کند. حذف دایرکتوری با:
$ rm -r node_modules
برای ایمن بودن، حتی می توانید آن را حذف کنید
package-lock.json
فایل برای اطمینان از نصب مجدد کامل. -
کش npm را پاک کنید: کش npm مانند یک فضای ذخیره سازی برای بسته های دانلود شده است. گاهی اوقات، این حافظه پنهان ممکن است خراب شود و منجر به خطا شود. با استفاده از دستور زیر می توانید کش را پاک کنید:
$ npm cache clean --force
-
بسته خاص را حذف کنید: اگه تو هستی
npm install
زمان بسیار زیادی طول می کشد و شما ترجیح می دهید به مشکل خاص رسیدگی کنید، می توانید فقط سعی کنید بسته مشکل دار را حذف کنید. مثلا:$ rm -r node_modules/my_module
به این ترتیب می توانید حذف کنید فقط مشکل و سپس فقط آن بسته را دوباره نصب کنید و سرعت آن را افزایش دهید process.
خطاهای مشابه
اکنون، ممکن است از خود بپرسید، چه میشود اگر با خطای مشابهی مواجه شوم، اما دقیقاً با آن مواجه نمیشوم npm ERR! code ENOTEMPTY
? خب، npm طیف گسترده ای از خطاها را دارد که می تواند ایجاد کند، و در حالی که همه آنها دلایل مختلفی دارند، بسیاری از آنها را می توان با استفاده از راه حل های مشابه برطرف کرد.
برای مثال، npm ERR! code EEXIST
یکی دیگر از خطاهای رایج است که زمانی رخ می دهد که فایلی که npm باید بنویسد از قبل وجود داشته باشد. مشابه راه حل های قبلی، اغلب می توان با حذف فایل متخلف و اجرا، این مشکل را برطرف کرد npm install
از نو.
$ rm -rf offending-file
$ npm install
یک خطای دیگر، npm ERR! code EACCES
، زمانی اتفاق می افتد که npm مجوزهای لازم برای نوشتن در یک فایل یا فهرست را ندارد. شما اغلب می توانید با تغییر مجوزهای فایل یا دایرکتوری با این مشکل را برطرف کنید chmod
فرمان
$ chmod 755 offending-directory
$ npm install
نتیجه
در این بایت، ما چند خطای رایج npm را پوشش داده ایم، به طور خاص npm ERR! code ENOTEMPTY
خطا ما در مورد علل متداول آن و روش حل آن، و همچنین سایر خطاهای مشابه و راه حل های آنها یاد گرفته ایم و درک ما از npm و ویژگی های عجیب آن را گسترش می دهیم.
(برچسبها برای ترجمه)# جاوا اسکریپت
منتشر شده در 1403-01-31 11:07:04