از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
چگونه Bash npm یافت نشد را برطرف کنم؟
سرفصلهای مطلب
- یک مخزن آنلاین برای انتشار پروژه های منبع باز Node.js.
- آ command-line ابزاری برای مدیریت بسته های Node.js، مدیریت نسخه ها و وابستگی ها.
هر زمان که Node.js را نصب می کنید، آن را نصب می کند npm مدیر بسته به طور پیش فرض با این حال، به دلایلی ممکن است با این مسئله روبرو شوید که bash npm را به عنوان یک دستور معتبر تشخیص نمی دهد.
در این راهنمای عیبیابی، به مراحل احتمالی که میتوانید برای عیبیابی خطا بردارید نگاهی بیاندازیم. من از اوبونتو برای نمایش استفاده خواهم کرد. با این حال، اصول کلیدی برای هر توزیع لینوکس دیگر اعمال می شود.
Bash: npm: دستور پیدا نشد
Bash پوسته پیش فرض است روی اکثر توزیع های لینوکس وقتی دستوری را اجرا می کنیم روی را terminal، به باش می رود. سپس دستور تفسیر و اجرا می شود.
با این حال، اگر دستور به دنبال ابزاری باشد که Bash آن را تشخیص ندهد، خطا را نشان می دهد.
همانطور که خروجی نشان می دهد، Bash نمی تواند دستور “npm” مربوط به هیچ نام مستعار یا ابزار Bash را پیدا کند. ما می توانیم چند سناریو احتمالی را استنباط کنیم:
- npm نصب نشده است.
- js نصب نیست
- مقدار PATH (یا متغیر محیطی مرتبط) تغییر کرد.
- مسائل مربوط به مجوز
- نسخه قدیمی Node.js نصب شد.
نصب تازه Node.js
اولین راه حل ما شامل نصب مجدد Node.js و تمام اجزای آن از ابتدا است. نصب یا پیکربندی خراب می تواند در بسیاری از موارد باعث ایجاد چنین مشکلی شود. نصب موجود را حذف میکنیم، مخزن اختصاصی Node.js را پیکربندی میکنیم و یک نصب Node.js جدید ایجاد میکنیم.
حذف نسخه های قدیمی Node.js
اگر نسخه قدیمی Node.js را نصب کرده اید، اکیداً توصیه می شود که به آخرین نسخه پایدار (فعلی یا LTS) ارتقا دهید. نرم افزارهای قدیمی اغلب مملو از اشکالات و آسیب پذیری هستند. بخش بزرگی از حملات سایبری به این دلیل اتفاق میافتد که نرمافزار قدیمی بهروزرسانی/پچ نشده است.
ابتدا Node.js را با استفاده از مدیریت بسته پیش فرض خود حذف کنید. برای اوبونتو، APT مدیر بسته است. دستور زیر را برای حذف Node.js و تمام اجزای آن اجرا کنید:
در مرحله بعد، دستورات زیر را اجرا کنید تا هر گونه باقیمانده از سیستم حذف شود.
$ sudo rm -rf /usr/local/share/man/man1/node*
$ sudo rm -rf /usr/local/lib/dtrace/node.d
$ sudo rm -rf ~/.npm
$ sudo rm -rf ~/.node-گیپ
$ sudo rm -rf /opt/local/bin/node
$ sudo rm -rf opt/local/include/node
$ sudo rm -rf /opt/local/lib/node_modules
$ sudo rm -rf /usr/local/lib/node*
$ sudo rm -rf /usr/local/include/node*
$ sudo rm -rf /usr/local/bin/node*
نصب آخرین Node.js
هدف اصلی ما این است که تأیید کنیم که سیستم شما آخرین نسخه Node.js را نصب کرده است. ما قبلاً یک راهنمای عمیق داریم روی نصب Node.js و npm روی اوبونتو
به طور خلاصه، دستورات زیر را برای تنظیم مخزن رسمی Node.js برای اوبونتو اجرا کنید. هنگام نوشتن این مقاله، آخرین جاری نسخه Node.js v17.x و آخرین نسخه LTS v16.x است. طبق توصیه وب سایت رسمی Node.js، ما نسخه LTS را نصب خواهیم کرد:
اکنون Node.js را نصب کنید:
اکنون، بررسی کنید که آیا Bash اکنون npm را به عنوان یک دستور مناسب تشخیص می دهد.
اگر process موفقیت آمیز است، سپس راهنمایی npm را دریافت خواهید کرد page. در غیر این صورت، مشکل ادامه خواهد داشت.
بازنشانی مقدار PATH
PATH یک متغیر محیطی مهم است که بسیاری از بخشهای سیستم به آن متکی هستند روی. به پوسته (و سیستم) می گوید که کجا به دنبال برنامه های خاص بگردند. هر زمان که دستوری را اجرا می کنیم، پوسته (در اکثر موارد Bash) دستور را در مکان های توصیف شده توسط PATH جستجو می کند. اگر پیدا نشد، حتی اگر ابزار به درستی نصب شده باشد، فرمان را تشخیص نخواهد داد.
برای کسب اطلاعات بیشتر در مورد متغیر PATH، این راهنما را بررسی کنید روی روش تغییر PATH در لینوکس
برای مشاهده مقدار متغیر PATH دستور زیر را اجرا کنید:
همچنین می توانید از دستور sed زیر برای چاپ خروجی PATH استفاده کنید. هر ورودی منحصر به فرد را در یک خط جدید قرار می دهد.
آیا ناهماهنگی در متغیر PATH وجود دارد؟ در بیشتر موارد چندین مسیر در متغیر PATH فهرست شده است. سعی کنید متغیر PATH را روی حالت پیش فرض خود قرار دهید.
پس از اصلاح متغیر PATH، بررسی کنید که آیا Bash می تواند پیدا کند یا خیر npm اکنون.
اگر مشکل برطرف شد، متغیر PATH را با استفاده از فایل bashrc به صورت دستی تنظیم کنید. درباره صادرات PATH در bashrc بیشتر بیاموزید. به طور خلاصه خطوط زیر را به فایل bashrc اضافه کنید.
$ export PATH:$PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin
اینجا،
- خط اول مقدار PATH را به طور پیش فرض تنظیم می کند.
- خط دوم چند مکان اضافی برای جستجوی باینری ها اضافه می کند. اختیاری است اما برای اکثر توزیعها توصیه میشود.
بررسی کنید که آیا به روز رسانی موفقیت آمیز بوده است.
اگر از نسخه قابل حمل Node.js استفاده می کنید، باید مطمئن شوید که مکان باینری نیز در متغیر PATH گنجانده شده است. در غیر این صورت، Bash نمی تواند باینری را تشخیص دهد.
افکار نهایی
این راهنمای عیبیابی راهحلهایی را برای رفع مشکلی که Bash نمیتواند آن را پیدا کند، نشان میدهد npm دودویی. توجه داشته باشید که این مراحل برای عیب یابی عمومی است. اگر مشکل شما پس از دنبال کردن آنها ادامه داشت، باید از متخصص کمک بگیرید. جوامع عظیمی مانند وجود دارد Stackexchange که می تواند به شما در شرایط شما کمک کند.
محاسبات مبارک!
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 03:26:08