د یووالي بسته مدیر

یووالی یو پلیټ فارم دی چې د څه مودې راهیسې شاوخوا دی او په دوامداره توګه وده کوي. په هرصورت، کله چې په ورته وخت کې د څو پروژو سره کار کوئ، تاسو لاهم کولی شئ د عامو سرچینو (.cs)، کتابتونونو (.dll) او نورو شتمنیو (عکس، غږونو، ماډلونو، پریفابونو) کارولو کې ستونزې سره مخ شئ. په دې مقاله کې به موږ د یووالي لپاره د دې ستونزې لپاره د اصلي حل سره زموږ د تجربې په اړه خبرې وکړو.

د یووالي بسته مدیر

د شریکو منابعو د ویش طریقه

د مختلفو پروژو لپاره د ګډو سرچینو کارولو لپاره له یوې څخه ډیرې لارې شتون لري، مګر هره طریقه خپل ګټې او زیانونه لري.

1. نقل - موږ د "لاس په واسطه" د پروژو تر مینځ سرچینې نقل کوو.

پرو:

  • د هر ډول سرچینو لپاره مناسب.
  • د انحصار ستونزه نشته.
  • د شتمنیو GUIDs سره کومه ستونزه نشته.

ضمیمه:

  • لوی ذخیره.
  • د نسخې کولو امکان نشته.
  • په شریکو سرچینو کې د بدلونونو تعقیب مشکل.
  • د شریکو سرچینو تازه کولو کې مشکل.

2. د ګیټ فرعي ماډلونه - د بهرنیو فرعي ماډلونو له لارې د شریکو سرچینو ویش.

پرو:

  • تاسو کولی شئ د سرچینو سره کار وکړئ.
  • تاسو کولی شئ شتمنۍ وویشئ.
  • د انحصار ستونزه نشته.

ضمیمه:

  • د ګیټ تجربه اړینه ده.
  • Git د بائنری فایلونو سره ډیر دوستانه ندی - تاسو باید LFS وصل کړئ.
  • د ذخیره کولو لپاره د لاسرسي کنټرول.
  • د نسخو لوړولو او ښکته کولو سره مشکل.
  • د GUID ټکرونه ممکن دي او د یووالي په برخه کې د دوی د حل لپاره کوم روښانه چلند شتون نلري.

3. NuGet - د NuGet کڅوړو له لارې د ګډ کتابتونونو ویش.

پرو:

  • د پروژو سره مناسب کار چې په یووالي پورې اړه نلري.
  • اسانه نسخه او د انحصار حل.

ضمیمه:

  • یووالي نشي کولی د بکس څخه بهر د NuGet کڅوړو سره کار وکړي (په GitHub کې تاسو کولی شئ د یووالي لپاره د NuGet بسته مدیر ومومئ ، کوم چې دا حل کوي ، مګر ځینې لنډیزونه شتون لري).
  • د نورو ډولونو شتمنیو ویشلو کې ستونزې.

4. د یووالي بسته مدیر - د یووالي لپاره د اصلي حل له لارې د شریکو سرچینو ویش.

پرو:

  • د کڅوړو سره کار کولو لپاره اصلي انٹرفیس.
  • د GUID شخړو له امله په کڅوړو کې د میټا فایلونو د بیا لیکلو پروړاندې محافظت.
  • د نسخې کولو امکان.
  • د یووالي لپاره د هر ډول سرچینو ویشلو وړتیا.

ضمیمه:

  • د GUID شخړې لاهم واقع کیدی شي.
  • د تطبیق لپاره هیڅ اسناد شتون نلري.

وروستی میتود د زیانونو په پرتله ډیرې ګټې لري. په هرصورت، دا اوس د اسنادو نشتوالي له امله خورا مشهور نه دی، او له همدې امله موږ به په تفصیل سره په دې اړه خبرې وکړو.

د یووالي بسته مدیر

د یووالي بسته مدیر (UPM) د بسته بندۍ مدیریت وسیله ده. دا په یونیټي 2018.1 کې اضافه شوی او یوازې د پیکجونو لپاره کارول شوی چې د یونیټي ټیکنالوژیو لخوا رامینځته شوي. په هرصورت، د 2018.3 نسخه سره پیل کول، دا ممکنه شوه چې دودیز کڅوړې اضافه کړي.

د یووالي بسته مدیر
د یووالي بسته مدیر انٹرفیس

کڅوړې د پروژې سرچینو (د شتمنیو لارښود) کې پای ته نه رسیږي. دوی په جلا لارښود کې دي %projectFolder%/Library/PackageCache او په هیڅ ډول پروژه اغیزه نه کوي، د سرچینې کوډ کې د دوی یوازینۍ یادونه په فایل کې ده packages/manifest.json.

د یووالي بسته مدیر
د پروژې فایل سیسټم کې کڅوړې

د بسته بندۍ سرچینې

UPM کولی شي د کڅوړې ډیری سرچینې وکاروي:

1. د فایل سیسټم.

پرو:

  • د پلي کولو سرعت.
  • د دریمې ډلې وسیلو ته اړتیا نلري.

ضمیمه:

  • په نسخه کې مشکل.
  • د فایل سیسټم ته شریک لاسرسی د هرچا لپاره اړین دی چې د پروژې سره کار کوي.

2. د Git ذخیره.

پرو:

  • ټول هغه څه چې تاسو ورته اړتیا لرئ د Git ذخیره ده.

ضمیمه:

  • تاسو نشئ کولی د UPM کړکۍ له لارې د نسخو ترمینځ تیر شئ.
  • د ټولو Git ذخیره کولو سره کار نه کوي.

3. د npm ذخیره.

پرو:

  • په بشپړ ډول د UPM فعالیت ملاتړ کوي او د یووالي رسمي کڅوړو توزیع کولو لپاره کارول کیږي.

ضمیمه:

  • اوس مهال د "-preview" پرته د کڅوړو ټولې تار نسخې له پامه غورځوي.

لاندې به موږ د UPM + npm تطبیق وګورو. دا بنډل مناسب دی ځکه چې دا تاسو ته اجازه درکوي د هر ډول سرچینې سره کار وکړئ او د بسته بندۍ نسخې اداره کړئ، او همدارنګه د اصلي UPM انٹرفیس بشپړ ملاتړ کوي.

تاسو کولی شئ دا د npm ذخیره په توګه وکاروئ Verdaccio. په تفصیل سره شتون لري اسناد، او د دې چلولو لپاره یوازې یو څو امرونو ته اړتیا ده.

د چاپیریال تنظیم کول

لومړی تاسو اړتیا لرئ نصب کړئ node.js.

د بسته بندۍ جوړول

د بسته بندۍ جوړولو لپاره، تاسو اړتیا لرئ فایل ځای په ځای کړئ package.json، کوم چې به یې تشریح کړي ، د دې کڅوړې مینځپانګې سره لارښود ته. تاسو اړتیا لرئ لاندې کارونه وکړئ:

د پروژې لارښود ته لاړ شئ چې موږ غواړو یو بسته جوړه کړو.

د npm init کمانډ چل کړئ او د ډیالوګ پرمهال اړین ارزښتونه دننه کړئ. د نوم لپاره، نوم په ریورس ډومین بڼه کې مشخص کړئ، د بیلګې په توګه com.plarium.somepackage.
د بسته بندۍ نوم په اسانۍ سره ښودلو لپاره، د displayName ملکیت په package.json کې اضافه کړئ او ډک کړئ.

څرنګه چې npm js-oriented دی، فایل د اصلي او سکریپټونو ملکیتونه لري چې موږ ورته اړتیا نلرو، کوم چې یووالي نه کاروي. دا غوره ده چې دوی لرې کړئ ترڅو د کڅوړې توضیحات ګډوډ نشي. فایل باید داسې ښکاري:

  1. د پروژې لارښود ته لاړ شئ چې موږ غواړو یو بسته جوړه کړو.
  2. د npm init کمانډ چل کړئ او د ډیالوګ پرمهال اړین ارزښتونه دننه کړئ. د نوم لپاره، نوم په ریورس ډومین بڼه کې مشخص کړئ، د بیلګې په توګه com.plarium.somepackage.
  3. د بسته بندۍ نوم په اسانۍ سره ښودلو لپاره، د displayName ملکیت په package.json کې اضافه کړئ او ډک کړئ.
  4. څرنګه چې npm js-oriented دی، فایل د اصلي او سکریپټونو ملکیتونه لري چې موږ ورته اړتیا نلرو، کوم چې یووالي نه کاروي. دا غوره ده چې دوی لرې کړئ ترڅو د کڅوړې توضیحات ګډوډ نشي. فایل باید داسې ښکاري:
    {
     "name": "com.plarium.somepackage",
     "displayName": "Some Package",
     "version": "1.0.0",
     "description": "Some Package Description",
     "keywords": [
       "Unity",
       "UPM"
     ],
     "author": "AUTHOR",
     "license": "UNLICENSED"
    }

  5. یونیټي خلاص کړئ او د پیکج. json لپاره میټا فایل رامینځته کړئ (یوونټي د میټا فایلونو پرته شتمنۍ نه ګوري ، د یووالي لپاره کڅوړې یوازې د لوستلو لپاره خلاصیږي).

یو بسته لیږل

د کڅوړې لیږلو لپاره تاسو اړتیا لرئ کمانډ چل کړئ: npm publish --registry *адрес до хранилища пакетов*.

د یووالي بسته مدیر له لارې د کڅوړو نصب او تازه کول

د یووالي پروژې ته د کڅوړې اضافه کولو لپاره ، تاسو اړتیا لرئ:

  1. فایل ته اضافه کړئ manifest.json د کڅوړو د سرچینې په اړه معلومات. د دې کولو لپاره تاسو اړتیا لرئ ملکیت اضافه کړئ scopedRegistries او سکوپونه او د سرچینې پته په ګوته کړئ چیرې چې ځانګړي سکوپونه به وپلټل شي.
    
    "scopedRegistries": [
       {
         "name": "Main",
         "url": "адрес до хранилища пакетов",
         "scopes": [
           "com.plarium"
         ]
       }
     ]
    
  2. یووالي ته لاړ شئ او د بسته بندۍ مدیر کړکۍ خلاص کړئ (د دودیز کڅوړو سره کار کول د جوړ شوي کڅوړو سره کار کولو څخه توپیر نلري).
  3. ټول بسته بندي غوره کړئ.
  4. هغه بسته ومومئ چې تاسو ورته اړتیا لرئ او اضافه کړئ.

د یووالي بسته مدیر

د سرچینو او ډیبګ کولو سره کار کول

د دې لپاره چې سرچینې پروژې سره وصل شي ، تاسو اړتیا لرئ رامینځته کړئ د مجلس تعریف د بسته بندۍ لپاره.

د کڅوړو کارول ستاسو د ډیبګ کولو اختیارونه محدود نه کوي. په هرصورت ، کله چې په یووالي کې د کڅوړو سره کار کوئ ، تاسو نشئ کولی IDE ته لاړ شئ په کنسول کې د یوې تېروتنې په کلیک کولو سره که چیرې په کڅوړه کې غلطي رامینځته شوې وي. دا د دې حقیقت له امله دی چې یونیټي سکریپټونه د جلا فایلونو په توګه نه ګوري، ځکه چې کله د مجلس تعریف کاروي دوی په کتابتون کې راټول شوي او په پروژه کې شامل شوي. کله چې د پروژې سرچینې سره کار کوئ، IDE ته کلیک کول شتون لري.

په یوه پروژه کې سکریپټ د تړل شوي کڅوړې سره:

د یووالي بسته مدیر
د کاري وقفې سره د کڅوړې څخه سکریپټ:

د یووالي بسته مدیر

د بسته بندۍ لپاره عاجل اصلاحات

په پروژه کې د یووالي کڅوړې اضافه شوي یوازې د لوستلو وړ دي ، مګر د کڅوړې کیچ کې ترمیم کیدی شي. د دې کولو لپاره تاسو اړتیا لرئ:

  1. د پیکج کیچ کې بسته ته لاړ شئ.

    د یووالي بسته مدیر

  2. اړین بدلونونه وکړئ.
  3. په فایل کې نسخه تازه کړئ package.json.
  4. کڅوړه ولېږئ npm publish --registry *адрес до хранилища пакетов*.
  5. د پیکج نسخه د UPM انٹرفیس له لارې سم شوي ته تازه کړئ.

د بسته واردولو شخړه

لاندې GUID شخړه ممکن د کڅوړو واردولو پرمهال رامینځته شي:

  1. بسته - بسته. که، کله چې د بسته بندي واردول، دا معلومه شوه چې دمخه اضافه شوي کڅوړې د ورته GUID سره شتمنۍ لري، د وارد شوي کڅوړې څخه د مطابقت لرونکي GUID سره شتمنۍ به په پروژه کې اضافه نشي.
  2. یوه بسته یوه پروژه ده. که، کله چې د بسته بندي واردول، دا معلومه شوه چې پروژه د ورته GUIDs سره شتمنۍ لري، نو بیا به د کڅوړې شتمنۍ پروژې ته اضافه نشي. په هرصورت، هغه شتمنۍ چې په دوی پورې اړه لري د پروژې څخه د شتمنیو کارول پیل کړي.

د پروژې څخه کڅوړې ته د شتمنیو لیږدول

که تاسو د یوې پروژې څخه کڅوړې ته شتمنۍ لیږدئ پداسې حال کې چې یووالي خلاص وي ، د دې فعالیت به ساتل کیږي ، او په انحصاري شتمنیو کې لینکونه به د کڅوړې څخه د شتمنۍ کارولو پیل وکړي.

مهم: کله چې د یوې پروژې څخه یوې کڅوړې ته د یوې شتمنۍ کاپي کول، د "پیکج - پروژې" شخړه به په پورته برخه کې تشریح شوي وي.

د شخړو لپاره ممکنه حلونه

  1. زموږ د خپلو الګوریتمونو په کارولو سره د GUIDs بیا ګمارل کله چې د ټکرونو له مینځه وړو لپاره ټولې شتمنۍ واردول.
  2. په یوه پروژه کې ټولې شتمنۍ اضافه کول او بیا یې په کڅوړو ویشل.
  3. د ډیټابیس رامینځته کول چې د ټولو شتمنیو GUIDs لري او د کڅوړو لیږلو په وخت کې د اعتبار ترسره کول.

پایلې

UPM په یووالي کې د ګډو سرچینو توزیع کولو لپاره نوی حل دی ، کوم چې د موجوده میتودونو لپاره مناسب بدیل کیدی شي. په مقاله کې تشریح شوي سپارښتنې د اصلي قضیو پر بنسټ وې. موږ امید لرو چې تاسو یې ګټور ومومئ.

سرچینه: www.habr.com

Add a comment