Eleda ti pọnti n ṣe agbekalẹ tii oluṣakoso package tuntun kan

Max Howell, onkọwe ti iṣelọpọ eto iṣakoso package macOS olokiki (Homebrew), n ṣe idagbasoke oluṣakoso package tuntun ti a pe ni Tii, ti o wa ni ipo bi itesiwaju idagbasoke ti pọnti, lọ kọja oluṣakoso package ati funni ni amayederun iṣakoso package iṣọkan ti o ṣiṣẹ pẹlu decentralized ibi ipamọ. Ise agbese na ti ni idagbasoke ni ibẹrẹ bi iṣẹ akanṣe-pupọ (macOS ati Lainos ni atilẹyin lọwọlọwọ, atilẹyin Windows wa ni idagbasoke). Koodu ise agbese ti kọ sinu TypeScript ati pinpin labẹ iwe-aṣẹ Apache 2.0 (a ti kọ pọnti ni Ruby ati pinpin labẹ iwe-aṣẹ BSD).

Tii ko dabi awọn alakoso package ibile ati dipo “Mo fẹ fi package kan sori ẹrọ” paradigm, o nlo apẹrẹ “Mo fẹ lati lo package kan”. Ni pataki, Tii ko ni aṣẹ lati fi package sori ẹrọ bii iru bẹ, ṣugbọn dipo lilo iran ayika lati ṣiṣẹ awọn akoonu package ti ko ni lqkan pẹlu eto lọwọlọwọ. Awọn idii ti wa ni gbe ni lọtọ ~/. tii liana ati ki o ko ba wa ni owun si idi ona (wọn le wa ni gbe).

Awọn ipo iṣiṣẹ akọkọ meji ni a pese: lilọ si ikarahun aṣẹ pẹlu iraye si agbegbe pẹlu awọn idii ti a fi sori ẹrọ, ati pipe awọn aṣẹ ti o jọmọ package taara. Fun apẹẹrẹ, nigba ṣiṣe “tii +gnu.org/wget”, oluṣakoso package yoo ṣe igbasilẹ ohun elo wget ati gbogbo awọn igbẹkẹle pataki, ati lẹhinna pese iraye si ikarahun ni agbegbe nibiti ohun elo wget ti fi sori ẹrọ wa. Aṣayan keji pẹlu ifilọlẹ taara - “tii +gnu.org/wget wget https://some_webpage”, ninu eyiti ohun elo wget yoo fi sii ati ifilọlẹ lẹsẹkẹsẹ ni agbegbe lọtọ. O ṣee ṣe lati ṣajọ awọn ẹwọn eka, fun apẹẹrẹ, lati ṣe igbasilẹ faili white-paper.pdf ati ṣe ilana rẹ pẹlu ohun elo itanna, o le lo ikole atẹle (ti wget ati didan ba nsọnu, wọn yoo fi sii): tii + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | tii +charm.sh/glow glow - tabi o le lo sintasi ti o rọrun: tii -X wget -qO- tea.xyz/funfun-paper | tii -X glow -

Ni ọna ti o jọra, o le ṣiṣe awọn iwe afọwọkọ taara, awọn apẹẹrẹ koodu, ati awọn ila-ila kan, ni ikojọpọ awọn irinṣẹ pataki fun iṣẹ wọn. Fun apẹẹrẹ, ṣiṣiṣẹ "tii https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" yoo fi ohun elo irinṣẹ Go sori ẹrọ ati ṣiṣẹ iwe afọwọkọ color.go pẹlu ariyanjiyan "-yellow".

Ni ibere ki o má ba pe aṣẹ tii ni gbogbo igba, o ṣee ṣe lati sopọ bi oluṣakoso gbogbo agbaye ti awọn agbegbe foju ati olutọju fun awọn eto ti o padanu. Ni ọran yii, ti eto ṣiṣiṣẹ ko ba wa, yoo fi sii, ati pe ti o ba ti fi sii tẹlẹ, yoo ṣe ifilọlẹ ni agbegbe rẹ. $ deno zsh: aṣẹ ko ri: deno $ cd mi-ise agbese $ deno tii: fifi sori deno.land^1.22 deno 1.27.0 > ^D

Ni fọọmu lọwọlọwọ rẹ, awọn idii ti o wa fun Tii ni a gba ni awọn ikojọpọ meji - pantry.core ati pantry.extra, eyiti o pẹlu metadata ti n ṣalaye awọn orisun igbasilẹ package, kọ awọn iwe afọwọkọ ati awọn igbẹkẹle. Gbigba pantry.core pẹlu awọn ile-ikawe akọkọ ati awọn ohun elo, ti a tọju titi di oni ati idanwo nipasẹ awọn olupilẹṣẹ Tii. Pantry.extra ni awọn akojọpọ ti ko ni iduroṣinṣin to tabi ti awọn ọmọ ẹgbẹ ti agbegbe daba. A pese wiwo wẹẹbu kan lati lilö kiri nipasẹ awọn idii.

Ilana ti ṣiṣẹda awọn idii fun Tii jẹ irọrun pupọ ati pe o wa silẹ lati ṣiṣẹda faili package gbogbo agbaye kan.yml (apẹẹrẹ), eyiti ko nilo iyipada package fun ẹya tuntun kọọkan. Apo kan le sopọ si GitHub lati ṣawari awọn ẹya tuntun ati ṣe igbasilẹ koodu wọn. Faili naa tun ṣapejuwe awọn igbẹkẹle ati pese awọn iwe afọwọkọ fun awọn iru ẹrọ atilẹyin. Awọn igbẹkẹle ti a fi sori ẹrọ jẹ aiyipada (ẹya naa ti wa titi), eyiti o yọkuro atunwi awọn ipo ti o jọra si iṣẹlẹ paadi osi.

Ni ojo iwaju, o ti ṣe ipinnu lati ṣẹda awọn ibi ipamọ ti a ti sọ di mimọ ti ko ni asopọ si ibi ipamọ ọtọtọ eyikeyi ati lo blockchain ti a pin fun metadata, ati awọn amayederun ti a ti sọtọ fun titoju awọn idii. Awọn idasilẹ yoo jẹ ifọwọsi taara nipasẹ awọn alabojuto ati atunyẹwo nipasẹ awọn ti o kan. O ṣee ṣe lati kaakiri awọn ami cryptocurrency fun awọn ilowosi si itọju, atilẹyin, pinpin ati ijẹrisi awọn idii.

Eleda ti pọnti n ṣe agbekalẹ tii oluṣakoso package tuntun kan


orisun: opennet.ru

Fi ọrọìwòye kun