از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
رفع خطای “yarn.ps1 not be loaded” به دلیل اسکریپت های غیر فعال
سرفصلهای مطلب
معرفی
در توسعه جاوا اسکریپت، Yarn یک مدیریت بسته محبوب است که توسعه دهندگان از آن برای مدیریت وابستگی ها استفاده می کنند. با این حال، ممکن است با خطای مشابه مواجه شوید yarn.ps1 cannot be loaded
در حین استفاده از آن روی یک سیستم ویندوز این خطا معمولاً به دلیل سیاست اجرای PowerShell رخ می دهد که از اجرای اسکریپت ها جلوگیری می کند.
در این بایت، این خطا را درک خواهیم کرد و در مورد چگونگی رفع آن بحث خواهیم کرد.
خطای درک “yarn.ps1 نمی تواند بارگیری شود”.
این yarn.ps1 cannot be loaded
هنگامی که شما سعی می کنید دستورات Yarn را در PowerShell اجرا کنید و سیاست اجرا را انجام دهید، خطا رخ می دهد روی سیستم شما روی “محدود” تنظیم شده است. به طور پیشفرض، ویندوز سیاست اجرا را روی «محدود» تنظیم میکند که اجرای همه فایلهای اسکریپت، از جمله اسکریپتهای PowerShell (فایلهای ps1.) را غیرفعال میکند.
پیام خطا ممکن است چیزی شبیه به این باشد:
yarn : File C:\Program Files\nodejs\yarn.ps1 cannot be loaded because running scripts is disabled روی this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
این خطا در واقع یک ویژگی امنیتی است که از اجرای غیرمجاز اسکریپت ها جلوگیری می کند.
اجرای فرمان با CurrentUser Scope
یکی از راه های حل این خطا اجرای دستور با محدوده «CurrentUser» است. این بدان معنی است که تغییراتی که ایجاد می کنید فقط بر کاربر فعلی تأثیر می گذارد.
برای تغییر سیاست اجرا برای کاربر فعلی، می توانید از Set-ExecutionPolicy
cmdlet به دنبال آن -Scope
پارامتر با مقدار CurrentUser
. در اینجا روش انجام این کار آمده است:
$ Set-ExecutionPolicy -Scope CurrentUser
هنگامی که این دستور را اجرا می کنید، PowerShell از شما می خواهد که تغییر را تأیید کنید. مطبوعات Y
برای تایید.
تنظیم سیاست اجرا به نامحدود
راه دیگری برای تعمیر yarn.ps1 cannot be loaded
خطا این است که خط مشی اجرا را روی “Unrestricted” تنظیم کنید. این اجازه می دهد تا تمام اسکریپت های PowerShell ویندوز اجرا شوند.
برای تنظیم خط مشی اجرا بر روی “Unrestricted” می توانید از Set-ExecutionPolicy
cmdlet به دنبال آن Unrestricted
پارامتر. در اینجا روش انجام این کار آمده است:
$ Set-ExecutionPolicy Unrestricted
هنگامی که این دستور را اجرا می کنید، PowerShell از شما می خواهد که تغییر را تأیید کنید. مطبوعات Y
برای تایید.
توجه داشته باشید: تنظیم خطمشی اجرا بر روی “نامحدود” میتواند خطر امنیتی ایجاد کند زیرا به همه اسکریپتها اجازه میدهد اجرا شوند، که میتواند شامل مواردی باشد که مخرب هستند.
پس از تغییر سیاست اجرا، باید بتوانید دستورات Yarn را بدون برخورد با آن اجرا کنید yarn.ps1 cannot be loaded
خطا
اجرای فرمان فقط برای کاربر فعلی
اگر میخواهید خطای «yarn.ps1 not be loaded» را برطرف کنید، یکی از اولین کارهایی که میتوانید امتحان کنید این است که سیاست اجرا را فقط برای کاربر فعلی تغییر دهید. این را می توان با تنظیم ExecutionPolicy روی Unrestricted برای کاربر فعلی انجام داد. می توانید این کار را با باز کردن PowerShell خود به عنوان مدیر و اجرای دستور زیر انجام دهید:
$ Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
این دستور سیاست اجرا را برای کاربر فعلی به Unrestricted تغییر میدهد و اجازه میدهد اسکریپتها اجرا شوند. اگر نگران امنیت هستید، میتوانید پس از پایان کار، آن را روی «محدود» تنظیم کنید.
توجه داشته باشید: به یاد داشته باشید، تغییر خط مشی اجرا می تواند یک خطر امنیتی باشد. قبل از رفتن به این مسیر مطمئن شوید که متوجه شده اید چه کاری انجام می دهید!
تنظیم ExecutionPolicy روی Bypass
اگر تغییر خط مشی اجرا برای کاربر فعلی کار نمی کند، می توانید “ExecutionPolicy” را روی “Bypass” تنظیم کنید. این اجازه می دهد تا همه اسکریپت ها و فایل های پیکربندی بدون توجه به امضای آنها اجرا شوند. با اجرای دستور زیر در PowerShell خود می توانید این کار را انجام دهید:
$ Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
این دستور خط مشی اجرای جلسه PowerShell فعلی را روی “Bypass” تنظیم می کند، به این معنی که هیچ اسکریپتی مسدود نمی شود و هیچ هشدار یا درخواستی وجود ندارد.
توجه داشته باشید: تنظیم “ExecutionPolicy” روی “Bypass” به طور بالقوه می تواند سیستم شما را در معرض اسکریپت های مخرب قرار دهد. توصیه می شود فقط در صورتی از این گزینه استفاده کنید که به اسکریپت هایی که می خواهید اجرا کنید اعتماد دارید.
نتیجه
در این بایت، دو راه حل بالقوه برای رفع خطای “yarn.ps1 not be loaded” را مورد بحث قرار دادیم. راه حل اول این است که سیاست اجرا را برای کاربر فعلی به Unrestricted تغییر دهید و راه حل دوم این است که “ExecutionPolicy” را روی “Bypass” برای جلسه PowerShell فعلی تنظیم کنید.
هر دوی این راهحلها پیامدهای امنیتی بالقوهای دارند، بنابراین قبل از ایجاد هرگونه تغییر، مطمئن شوید که چه کاری انجام میدهید.
(برچسبها برای ترجمه)# جاوا اسکریپت
منتشر شده در 1403-01-02 21:15:06