پرېږده چې npm راجسټر د بنډل د ساحې له مخې وټاکي، نه د VPN له مخې
د ساحې ننوتنه د شرکت بنډلونه یو خصوصي راجسټر ته لېږي او نور هر څه عمومي پرېږدي. لارښوونه، اعتبارنامې او لومړیتوب نور درې پرېکړې دي.
VPN سره نښلول باید دې معنا نه وي چې د npm د راجسټر تنظیم په ورځ کې دوه ځله سمول۔ په پروژې کچې کنفیګریشن فایل کې د ساحې ننوتنه کولی شي د شرکت بنډلونه یو راجسټر ته او نور هر څه عمومي راجسټر ته ولېږي، پرته له کوم بدلون او پرته له کومې هغې تېرېدو چې د جمعې په ماسپښین پاتې شي۔ ستونزه دا ده چې دا یوازې نومونه حل کوي؛ لارښوونه، اعتبارنامې او د کنفیګریشن لومړیتوب درې جلا شیان دي چې هر یو په خپله طریقه ناکامېږي۔
دوه نومونه، دوه منزلونه
د npm بنډل نوم یا ساحه لري یا نه لري۔ د ساحې لرونکی نوم د @ نښې او د ساحې پیژندونکي سره پیلېږي، او کنفیګریشن کولی شي هماغه پیژندونکی نقشه کړي۔ په بنډل کې بل څه د نقشې لپاره مهم نه دي۔ راجسټر هیڅکله غوښتنه د دې له مخې نه ګوري چې بنډل داخلي دی که عمومي؛ یوازې نوم ګوري۔
نو لاندې فایل په درېو کرښو کې دوه نیتونه څرګندوي: عمومي بنډلونه عمومي راجسټر ته ځي، او د شرکت د ساحې لاندې بنډلونه د هغه هوسټ لپاره د ټوکن سره شرکت راجسټر ته ځي۔
registry=https://registry.npmjs.org/
@acme:registry=https://packages.corp.example/
//packages.corp.example/:_authToken=${NPM_TOKEN}ساحه، هوسټ او د متغیر نوم په هغه څه بدل کړئ چې موسسه یې په رښتیا برابروي۔ جوړښت مهم دی، نه د بېلګې ارزښتونه۔ دوه کنفیګریشن کرښې ټوله پالیسي وړي، نو ښه به دا وي چې پوه شئ نه یې کاپي کړئ۔
نقشه او شبکه په خپل ذهن کې په جلا خونو کې وساتئ۔ د ساحې ننوتنه نشي کولی یو نه رسېدونکی هوسټ رسېدونکی کړي، او یو کارکوونکی تونل نشي کولی npm ته ووایي چې بنډل کوم راجسټر پورې اړه لري۔
فایل په سم ترتیب ولیکئ
که څه هم npm څو فایلونه لولي، په خپله استدلال کې د پروژې فایل لومړی ږدئ۔ په پروژې فولډر کې .npmrc هغه دی چې ستاسو همکاران یې د زېرمې له لارې میراث اخلي، نو باید ګډه پالیسي بیان کړي نه ستاسو شخصي ټوکن۔ هماغه فایل به یو بیاکتونکی هم ولولي۔ هغه دومره کوچنی وساتئ چې په یوه کتنه کې بیاکتنه شي۔
پرته له دې چې موسسې بل تصمیم کړی وي، د registry ډیفالټ کرښه عمومي راجسټر ته اشاره کوونکې پرېږدئ۔ د هغې لرې کول ماشین د کاروونکي کچې فایل د څه ویلو پورې تړلی کوي، او دا هماغه پټه تکیه ده چې په دوو لیپ ټاپونو کې بېلې پایلې ورکوي۔
د ساحې کرښه وحشي کارت نه دی۔ د ساحې بهر نوم بیا هم ډیفالټ کاروي، او دا هغه چلند دی چې تاسو یې د هر هغه تړاو لپاره غواړئ چې تاسو یې پخپله نه یاست لیکلی۔
مخکې له دې چې فایل ژمن کړئ وګورئ چې هغه څه ته حلېږي، د ریښتیني نصب پر ځای یو ځل کارېدونکی د بنډل نوم وکاروئ، تر څو تېروتنه هېڅ ونه لګوي۔
اعتبارنامې د پروژې نه، د هوسټ دي
د تصدیق ننوتنې د راجسټر هوسټ او چېرې چې راجسټر ورته اړتیا لري د یوې لارې سره تړلې دي۔ نو ځکه د ټوکن کرښه د ساحې پر ځای د دوه ګوني سلیش او هوسټ سره پیلېږي۔ کله چې هوسټ په هغه ځای کې ووینئ، د کرښې پاتې برخه د بې ترتیبه نښو په څېر ښکارېدل بندوي۔ دا یو پته ده، او ټوکن ورباندې نښلول شوی۔
د چاپېریال متغیر کارول لفظي ټوکن د زېرمې په فایل کې بهر ساتي۔ دا ټوکن هر چېرې پټ نه کوي؛ هغه بیا هم د پروسې په چاپېریال کې ښکاري، او هغه کمانډ چې کنفیګریشن چاپوي کولی شي هغه افشا کړي۔
متغیر د موسسې له خوا منل شوې کومې سیمه ییزې یا CI اعتبارنامې میکانیزم له لارې برابروئ، او هیڅکله ریښتینی ټوکن په هغه بېلګه کې مه نښلوئ چې اسنادو ته کاپي کېدای شي۔
که دوه راجسټرونه په لوبه کې وي، هر یو خپله ننوتنه اخلي۔ یوه بې کچې د ټوکن ترتیبه په غوره حالت کې مبهمه ده او په بدترین حالت کې غلط هوسټ ته لېږل شوې۔
کله چې غلط راجسټر وګټي
کنفیګریشن پرتونو کې دی، او هغه ارزښت چې نافذ دی اړینه نه ده چې په هغه فایل کې وي چې تاسو همدا اوس سمولی۔ د پروژې تنظیمات، د کاروونکي تنظیمات، نړیوال تنظیمات او د چاپېریال متغیرونه ټول برخه اخلي۔ همدا پرتونه لامل دي چې سمون ستاسو په ماشین کې کار کوي او د همکار په کانټینر کې نه۔ همدا لامل دی چې د هغه په اړه له بحث مخکې نافذ ارزښت چاپول ښه دي۔
د چاپېریال متغیر په CI کې عادي مجرم دی، چېرې چې یوه دنده راجسټر یو ځل ټاکي او هر راتلونکی ګام هغه میراث اخلي۔ دوهم تر ټولو عام هغه فایل دی چې د پراختیا کوونکي په ماشین کې د کاروونکي کچه کې دی او هغه څه تېروي چې زېرمه یې وایي۔
مخکې له دې چې بل څه ډیبګ کړئ، د یوې ساحې لرونکې او یوې بې ساحې نوم لپاره نافذ کنفیګریشن او حل شوی راجسټر چاپ کړئ۔ که هغه دوه ځوابونه ستاسو د تمې مطابق وي، ستونزه شبکه ده؛ که نه، ستونزه کنفیګریشن دی او د VPN هېڅ کار به مرسته ونه کړي۔
د ژمنې کولو دمخه چک لیست
ډاډ ترلاسه کړئ چې د ساحې نوم له هغو بنډلونو سره سمون لري چې په رښتیا خپاره شوي، ډیفالټ راجسټر څرګند دی، او د ټوکن کرښه سم هوسټ نوموي۔ په ساحه کې تېروتنه تر ټولو عجیبه ناکامي جوړوي، ځکه بنډل له عمومي راجسټر څخه حلېږي او د هماغه نوم بل چا ماډل بېرته راوړي۔ مخکې له دې چې ټوکن ډیبګ کړئ نوم وګورئ۔
ډاډ ترلاسه کړئ چې خصوصي راجسټر د هغه کانتکست له ماشین څخه رسېدونکی دی چې نصب پر مخ وړي، نه یوازې ستاسو له براوزر څخه۔ دا توپیر هغه وخت مهم دی چې پروکسي یا کانټینر ستاسو له شیل څخه بېله لارښوونه ولري۔
بیا په پاکه تېرېدنه کې پرته له کېش شوو بنډلونو چلند تایید کړئ۔ نوی نصب یوازینی ازموینه ده چې ښیي یو نوی همکار به څه تجربه کړي۔