Brew жаратуучусу жаңы чай пакетинин менеджерин иштеп чыгат

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

Чай концептуалдык жактан салттуу пакет менеджерлерине окшош эмес жана "Мен пакетти орноткум келет" парадигмасынын ордуна "Мен пакетти колдонгум келет" парадигмасын колдонот. Атап айтканда, Чайда пакетти орнотуу буйругу жок, анын ордуна учурдагы система менен дал келбеген пакеттин мазмунун аткаруу үчүн чөйрөнү жаратууну колдонот. Пакеттер өзүнчө ~/.чай каталогуна жайгаштырылат жана абсолюттук жолдорго байланбайт (аларды жылдырууга болот).

Иштин эки негизги режими каралган: орнотулган пакеттер менен чөйрөгө кирүү мүмкүнчүлүгү бар командалык кабыкчага өтүү жана пакетке байланыштуу буйруктарды түздөн-түз чакыруу. Мисалы, "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 инструменттер топтомун орнотуп, "-yellow" аргументи менен colors.go скриптин аткарат.

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

Учурдагы түрүндө Чай үчүн жеткиликтүү топтомдор эки коллекцияда чогултулган - pantry.core жана pantry.extra, алар пакетти жүктөө булактарын, скрипттерди курууну жана көз карандылыкты сүрөттөгөн метаберилиштерди камтыйт. pantry.core коллекциясы жаңыртылган жана чай иштеп чыгуучулар тарабынан сыналган негизги китепканаларды жана коммуналдык кызматтарды камтыйт. Pantry.extra жетиштүү турукташпаган же коомчулуктун мүчөлөрү сунуштаган пакеттерди камтыйт. Пакеттер боюнча чабыттоо үчүн веб-интерфейс каралган.

Чай үчүн топтомдорду түзүү процесси абдан жөнөкөйлөштүрүлгөн жана бир универсалдуу package.yml файлын (мисалы) түзүүгө туура келет, ал пакетти ар бир жаңы версияга ылайыкташтырууну талап кылбайт. Жаңы версияларды таап, алардын кодун жүктөп алуу үчүн пакет GitHub менен байланыша алат. Файл ошондой эле көз карандылыктарды сүрөттөйт жана колдоого алынган платформалар үчүн скрипттерди түзөт. Орнотулган көз карандылыктар өзгөрүлгүс (версиясы бекитилген), бул сол-под инцидентине окшош кырдаалдардын кайталанышын жокко чыгарат.

Келечекте кандайдыр бир өзүнчө сактагычка байланбаган борбордон ажыратылган репозиторийлерди түзүү пландаштырылууда жана метаберилиштер үчүн бөлүштүрүлгөн блокчейнди жана пакеттерди сактоо үчүн децентралдаштырылган инфраструктураны колдонуу пландаштырылууда. Чыгаруулар түздөн-түз тейлөөчүлөр тарабынан тастыкталат жана кызыкдар тараптар тарабынан каралат. Бул пакеттерди тейлөө, колдоо, бөлүштүрүү жана текшерүү үчүн салым үчүн cryptocurrency Токендерди таратуу мүмкүн.

Brew жаратуучусу жаңы чай пакетинин менеджерин иштеп чыгат


Source: opennet.ru

Комментарий кошуу