Brew үйлдвэрлэгч шинэ багц менежер цай боловсруулж байна

Алдартай macOS багц удирдлагын системийн brew (Homebrew)-ийн зохиогч Макс Хоуэлл цай хэмээх шинэ багц менежерийг боловсруулж байгаа бөгөөд шар айрагны хөгжлийн үргэлжлэл болгон, багц менежерээс хальж, ажилладаг багц удирдлагын нэгдсэн дэд бүтцийг санал болгож байна. төвлөрсөн бус агуулахтай. Төслийг анх олон платформ төсөл болгон боловсруулж байна (одоогоор macOS болон Linux-ийг дэмждэг, Windows-ийн дэмжлэгийг хөгжүүлж байна). Төслийн код нь TypeScript дээр бичигдсэн бөгөөд Apache 2.0 лицензийн дагуу түгээгддэг (brew нь Ruby дээр бичигдсэн бөгөөд BSD лицензийн дагуу түгээгдсэн).

Цай нь концепцийн хувьд уламжлалт багц менежерүүдтэй адилгүй бөгөөд "Би багц суулгахыг хүсч байна" парадигмын оронд "Би багц ашиглахыг хүсч байна" парадигмыг ашигладаг. Ялангуяа Tea багцыг суулгах командгүй, харин одоогийн системтэй давхцахгүй байгаа багцын агуулгыг гүйцэтгэхийн тулд орчин үүсгэгчийг ашигладаг. Багцуудыг тусдаа ~/.tea лавлахад байрлуулсан бөгөөд үнэмлэхүй замд холбогддоггүй (тэдгээрийг зөөж болно).

Үйлдлийн хоёр үндсэн горимыг хангадаг: суулгасан багцууд бүхий орчинд хандах боломжтой тушаалын бүрхүүл рүү очих, багцтай холбоотой командуудыг шууд дуудах. Жишээлбэл, "tea +gnu.org/wget"-г гүйцэтгэх үед багцын менежер wget хэрэгсэл болон шаардлагатай бүх хамаарлыг татаж аваад суулгасан wget хэрэглүүрийг ашиглах боломжтой орчинд бүрхүүлийн хандалтыг олгоно. Хоёрдахь сонголт нь шууд эхлүүлэх явдал юм - "tea +gnu.org/wget wget https://some_webpage" бөгөөд үүнд wget хэрэгслийг суулгаж, тусдаа орчинд шууд ажиллуулна. Нарийн төвөгтэй хэлхээ үүсгэх боломжтой, жишээлбэл, white-paper.pdf файлыг татаж аваад glow хэрэгслээр боловсруулах боломжтой, та дараах бүтцийг ашиглаж болно (хэрэв wget болон glow байхгүй бол тэдгээрийг суулгана): цай + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - эсвэл илүү энгийн синтакс ашиглаж болно: tea -X wget -qO- tea.xyz/white-paper | цай - X гялалзах -

Үүнтэй адилаар та скрипт, кодын жишээ, нэг давхаргыг шууд ажиллуулж, тэдгээрийн үйл ажиллагаанд шаардлагатай хэрэгслүүдийг автоматаар ачаалж болно. Жишээлбэл, "цай https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow"-г ажиллуулснаар Go toolkit-ийг суулгаж, "-yellow" аргументтай color.go скриптийг ажиллуулна.

Цайны командыг байнга залгахгүйн тулд үүнийг виртуал орчны бүх нийтийн менежер, алга болсон програмуудын зохицуулагч болгон холбох боломжтой. Энэ тохиолдолд хэрэв ажиллаж байгаа програм байхгүй бол түүнийг суулгаж, өмнө нь суулгасан бол өөрийн орчинд ажиллуулна. $ deno zsh: команд олдсонгүй: deno $ cd my-project $ deno tea: deno.land^1.22 deno 1.27.0 > ^D суулгаж байна

Одоогийн байдлаар Цайнд ашиглах боломжтой багцуудыг pantry.core болон pantry.extra гэсэн хоёр цуглуулгад цуглуулсан бөгөөд үүнд багц татаж авах эх сурвалж, скрипт бүтээх болон хамаарлыг тайлбарласан мета өгөгдөл багтсан болно. Pantry.core цуглуулгад цайны хөгжүүлэгчдийн туршсан, шинэчлэгдсэн үндсэн номын сан, хэрэгслүүд багтсан болно. Pantry.extra нь хангалттай тогтворжоогүй эсвэл нийгэмлэгийн гишүүдийн санал болгосон багцуудыг агуулдаг. Багцуудын хооронд шилжих вэб интерфэйсийг өгсөн.

Цайны багц үүсгэх үйл явц нь маш хялбаршуулсан бөгөөд нэг бүх нийтийн package.yml файл (жишээ) үүсгэхэд хүргэдэг бөгөөд энэ нь шинэ хувилбар бүрт багцыг тохируулах шаардлагагүй юм. Багц нь GitHub-тэй холбогдож шинэ хувилбаруудыг олж, кодыг нь татаж авах боломжтой. Энэ файл нь мөн хамаарлыг тайлбарлаж, дэмжигдсэн платформд зориулсан скриптүүдийг бий болгодог. Суурилуулсан хамаарлууд нь өөрчлөгддөггүй (хувилбар нь тогтсон) бөгөөд энэ нь зүүн жийргэвчтэй төстэй нөхцөл байдлын давталтыг арилгадаг.

Цаашид ямар нэгэн тусдаа хадгалах байгууламжид холбогдоогүй, мета өгөгдлийн хувьд тархсан блокчэйн, багцыг хадгалах төвлөрсөн бус дэд бүтцийг ашиглахаар төлөвлөж байна. Хувилбаруудыг засварчид шууд баталгаажуулж, сонирхогч талууд хянуулна. Багцыг засварлах, дэмжих, түгээх, баталгаажуулахад хувь нэмэр оруулах зорилгоор криптовалютын жетоныг тараах боломжтой.

Brew үйлдвэрлэгч шинэ багц менежер цай боловсруулж байна


Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх