Офаридгори нӯшокӣ чойи нави менеҷери бастаро таҳия мекунад

Макс Хоуэлл, муаллифи системаи маъмули идоракунии бастаи macOS brew (Homebrew), менеҷери нави бастаи бо номи Чойро таҳия мекунад, ки ҳамчун идомаи рушди нӯшокӣ ҷойгир шуда, аз доираи менеҷери бастаҳо берун рафта, инфрасохтори ягонаи идоракунии бастаҳоро пешниҳод мекунад, ки кор мекунад. бо анборҳои ғайримарказонидашуда. Лоиҳа дар аввал ҳамчун як лоиҳаи бисёрплатформавӣ таҳия карда мешавад (дар айни замон macOS ва Linux дастгирӣ карда мешаванд, дастгирии Windows дар ҳоли таҳия аст). Рамзи лоиҳа дар TypeScript навишта шудааст ва таҳти литсензияи Apache 2.0 паҳн карда мешавад (брав дар Ruby навишта шуда, таҳти иҷозатномаи BSD паҳн карда шудааст).

Чой консептуал ба менеҷерҳои бастаҳои анъанавӣ монанд нест ва ба ҷои парадигмаи "Ман мехоҳам баста насб кунам", он парадигмаи "Ман мехоҳам бастаро истифода кунам" -ро истифода мебарад. Аз ҷумла, Чой фармони насб кардани бастаро надорад, балки ба ҷои он тавлиди муҳити зистро барои иҷрои мундариҷаи бастаҳо истифода мебарад, ки бо системаи ҷорӣ мувофиқат намекунанд. Бастаҳо дар феҳристи алоҳидаи ~/.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 дурахшон -

Ба ҳамин монанд, шумо метавонед мустақиман скриптҳо, мисолҳои рамзӣ ва як-лайнерҳоро иҷро кунед, ба таври худкор асбобҳои заруриро барои кори онҳо бор кунед. Масалан, иҷро кардани "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" асбоби Go-ро насб мекунад ва скрипти color.go-ро бо аргументи "-yellow" иҷро мекунад.

Барои он ки ҳар дафъа ба фармони чой занг назанед, онро ҳамчун мудири универсалии муҳити виртуалӣ ва коркарди барномаҳои гумшуда пайваст кардан мумкин аст. Дар ин ҳолат, агар барномаи иҷрошаванда мавҷуд набошад, он насб карда мешавад ва агар он қаблан насб шуда бошад, он дар муҳити худ оғоз карда мешавад. $ 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 пайваст шавад, то версияҳои навро кашф кунад ва рамзи онҳоро зеркашӣ кунад. Файл инчунин вобастагиҳоро тавсиф мекунад ва скриптҳои бунёдиро барои платформаҳои дастгирӣшаванда таъмин мекунад. Вобастагии насбшуда тағирнопазиранд (версия собит аст), ки такрори ҳолатҳои шабеҳи ҳодисаи чапро аз байн мебарад.

Дар оянда ба нақша гирифта шудааст, ки анборҳои ғайримарказонидашуда, ки ба ягон нигаҳдории алоҳида алоқаманд нестанд ва барои метамаълумотҳо blockchain тақсимшуда ва инфрасохтори ғайримарказӣ барои нигаҳдории бастаҳо истифода шаванд. Нашрияҳо мустақиман аз ҷониби нигоҳдорон тасдиқ карда мешаванд ва аз ҷониби ҷонибҳои манфиатдор баррасӣ карда мешаванд. Барои саҳмгузорӣ дар нигоҳдорӣ, дастгирӣ, тақсимот ва тафтиши бастаҳо нишонаҳо паҳн кардан мумкин аст.

Офаридгори нӯшокӣ чойи нави менеҷери бастаро таҳия мекунад


Манбаъ: opennet.ru

Илова Эзоҳ