yarn و npm چه تفاوتی با هم دارند ؟

yarn و npm چه تفاوتی با هم دارند ؟

yarn و npm چه تفاوتی با هم دارند ؟WHY AND HOW TO MIGRATE FROM NPM TO YARN

yarn و npm چه تفاوتی با هم دارند ؟

توسط : admin
yarn یک مدیر بسته یا پکیج منیجیر جدید برای node.js است . yarn یک پروژه مشترک است که توسط شرکت هایی مانند Facebook ، Exponent ، Google و Tilde ساخته شده و تحت مجوز BSD توزیع می شود. نسخه فعلی yarn در زمان نوشتن این پست ، 0.17.10 است.

 

دلیل اصلی انتخاب توسعه دهندگان برای انتقال به Yarn ، ثبات آن است. در npm ، هنگامی که ما نیاز به استقرار پروژه در دستگاه های مختلف داریم ، نسخه بسته های نصب شده می تواند متفاوت باشد. من فکر می کنم در این مورد Yarn بهتر ظاهر شد. از مزایای اصلی Yarn  میتوانیم به موارد زیر اشاره کنیم:

  • می تواند بسته هایی را از حافظه cache محلی نصب کند
  • اتصال محکم نسخه های پکیج ها
  • اجازه نصب موازی پکیج ها
  • دارای یک انجمن کاربر فعال است

 

تفاوت NPM در مقابل Yarn :

Yarn با npm چند تفاوت عمده دارد. اول از همه ، Yarn همه بسته های نصب شده را ذخیره می کند. Yarn  نصب بسته ها را به طور همزمان انجام میدهد و به همین دلیل Yarnسریعتر از NPM است. هر دوی آنها بسته ها را از مخازن npm بارگیری می کنند. Yarn از yarn.lock برای قفل کردن نسخه های وابستگی بسته به طور پیش فرض تولید می کند. در مقابل ، npm برای این منظور فرمان CLI shrinkwrap را ارائه می دهد.

 

چرا به  Yarn  مهاجرت کنیم ؟

هنگامی که Yarn  عرضه شد ، توسعه دهندگان با خوش بینی از آن استقبال کردند. اکنون تعداد بیشتری از توسعه دهندگان به Yarn تغییر کاربری می دهند . البته دلایل اصلی این مهاجرت ثبات ، سهولت در استفاده و اختلاف نسبتاً کمی با  npm از نظر کاربرد است.

 

دلایل جداگانه ای برای استفاده از Yarn در پروژه های کوچک یا بزرگ وجود دارد. مزیت اصلی آن این واقعیت است که به شما کمک می کند تا از بروز هرگونه مشکل احتمالی مربوط به نسخه های مختلف ماژول های سیستم node.js که روی آن پروژه نصب خواهد شد ، جلوگیری کند.

 

ایا مشکلی در مهاجرت به Yarn  هست ؟بدبختانه بله .

Yarnبه تازگی توسعه یافته است. در اینجا دو موضوع اصلی وجود دارد که هنگام انتقال پروژه من از NPM به Yarn به وجود آمد:

  • مشکل در نصب ماژول های بومی
  • Yarn با نسخه node.js قدیمی تر از 5 کار نمی کند

 

نحوه نصب Yarn  :

Yarn چند روش نصب را ارائه می دهد: نصب از طریق  brew و  Chocolatey در ویندوز و یا از مخازن لینوکس .  من ، نصب از مخزن لینوکس را انجام داده ام .

curl - sS https: //dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee / etc / apt / sources.list.d / yarn.list 

نصب Yarn :

sudo apt-get update && sudo apt-get install yarn 

 

سپس باید پوشه node_modules را حذف کنیم و همه بسته ها را با Yarn نصب کنیم:

yarn install

 

Yarn تمام بسته هایی را که در حافظه محلی شما نصب شده است ، استفاده و ذخیره می کند. هنگام نصب پکیج ، Yarn به دنبال این بسته در حافظه محلی است و اگر این بسته پیدا نشد ، Yarn سعی می کند آن را از اینترنت بارگیری کند.

 

مشکلات با Yarn و راه حل آنها

اولین تجربه ناخوشایند این بود که Yarn بر روی نسخه های کمتر از 5.10.1  نود جی اس کار نمی کند. . براین اساس ، من نسخه node.js خود را به نسخه جدیدتری ارتقا دادم. اکنون از نسخه 14.4.0 استفاده می کنم. سپس تمام بسته ها را با Yarn نصب کردم. با این حال ، در ماژول node-gyp خطایی داشتم. همین مشکل هنگام نصب node-gyp با NPM ظاهر شد. و راه حل را پیدا کردم - نصب آن به صورت گلوبال .

 

نصب پکیج ها در Yarn 

می توانید بسته ها را توسط  Yarn  از خط فرمان زیر نصب کنید:

yarn add packageName

 

Yarn  را نصب کنید و سپس فایلهای package.json و yarn.lock را به روز کنید. روش های زیادی برای نصب بسته ها با استفاده از Yarn  وجود دارد: نصب از

  • repository
  • archive
  • git
  • local cache
  • NPM repository

 

 نتیجه گیری

مزایای Yarn نسبت به npm تمام نقایص آن را جبران می کند. Yarn اجازه می دهد تا پروژه ها با راحتی بیشتری مستقر شوند. علاوه بر این ، در جلوگیری از این لحظات ناخوشایند ، که هنگام استفاده از npm اتفاق می افتد ، کمک می کند.

 

برخلاف npm ، Yarn با ارائه نسخه های قفل شده بسته های نصب شده ، ثبات را ارائه می دهد. سرعت نصب ماژول ها بیشتر است. برای پروژه های بزرگ که وابستگی های بیشتری دارند ، بسیار مهم است.

نظرات :

در عرض چند دقیقه برای ایجاد حساب

کاربری خود اقدام کنید


اکنون حساب کاربری خود را ایجاد کنید!


ایجاد حساب کاربری

با ثبت نام در نیلوتک از آخرین بروز رسانی های آموزش ها و مقالات سایت مطلع شوید