Tea the new brew creator paket yöneticisi

Çay

tea, kodun dağıtılma şeklini değiştirecek yeni teknolojiler yaratıyor

Popüler macOS Homebrew paket yönetim sistemi brew'un yazarı Max Howell, brew'un gelişiminin bir devamı olarak konumlandırılan ve paket yöneticisinin ötesine geçerek merkezi olmayan depolarla çalışan birleşik bir paket yönetim altyapısı sunan Tea adlı yeni bir paket yöneticisi üzerinde çalıştığını duyurdu .

Tea, kavramsal olarak geleneksel paket yöneticilerine benzemez ve "Bir paket yüklemek istiyorum" paradigması yerine "Bir paket kullanmak istiyorum" yaklaşımını kullanır.

Özellikle, Tea'nin doğrudan bir paket yükleme komutu yoktur ; bunun yerine, mevcut sistemle çakışmayan paket içeriklerini çalıştırmak için ortam oluşturma yöntemini kullanır. Paketler ayrı bir ~/.tea dizinine yerleştirilir ve mutlak yollara atanmazlar (taşınabilirler).

Tea iki temel çalışma modu sunar: kurulu paketlerin bulunduğu bir ortama erişim sağlayan bir komut kabuğuna atlama ve doğrudan paketle ilgili komutları çağırma. Örneğin, "tea +gnu.org/wget" komutunu çalıştırmak, paket yöneticisinin wget yardımcı programını ve gerekli tüm bağımlılıkları indirmesine ve ardından kurulu wget yardımcı programının bulunduğu bir ortamda kabuk erişimi sağlamasına neden olur.

İkinci seçenek doğrudan başlatmayı içerir: ` tea +gnu.org/wget -qO-tea.xyz/white-paper | tea +charm.sh/glow glow -` , bu komut wget yardımcı programını kuracak ve ayrı bir ortamda hemen çalıştırarak, daha sonra glow ile işlenecek bir dosyayı indirecektir. Daha karmaşık bir zincir de mümkündür; örneğin, `white-paper.pdf` dosyasını indirmek ve glow yardımcı programıyla işlemek için aşağıdaki komutu kullanabilirsiniz (wget ve glow zaten mevcut değilse, kurulacaklardır).

Benzer şekilde, komut dosyalarını, kod örneklerini ve akıllıca ifadeleri doğrudan çalıştırabilir ve iş için gerekli araçları otomatik olarak yükleyebilirsiniz.

Örnek olmasın, şunu çalıştırın:

tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go

Go dili araç setini kuracak ve argüman olarak “–yellow” ile Colors.go komut dosyasını çalıştıracaktır.

Her seferinde tea komutunu çağırmaktan kaçınmak için, onu evrensel bir sanal ortam yöneticisi ve eksik program işleyicisi olarak bağlayabilirsiniz . Bu durumda, çalışan program kullanılamıyorsa kurulacak, daha önce kurulmuşsa ortamınızda başlatılacaktır.

Mevcut haliyle, Tea için उपलब्ध olan paketler , paket indirme kaynaklarını, derleme komut dosyalarını ve bağımlılıklarını açıklayan meta verileri içeren pantry.core ve pantry.extra olmak üzere iki koleksiyonda toplanmıştır .

`pantry.core` koleksiyonu, Tea geliştiricilerinin güncel tuttuğu ve test ettiği temel kütüphaneleri ve yardımcı programları içerir. `pantry.extra` ise henüz tam olarak istikrara kavuşmamış veya topluluk tarafından önerilen paketleri içerir. Paketlere göz atmak için bir web arayüzü sağlanmıştır.

Çay için paket oluşturma süreci büyük ölçüde basitleştirildi ve paketin her yeni sürüm için uyarlanmasını gerektirmeyen evrensel bir package.yml dosyası (örnek) oluşturmaya indirgendi. Yeni sürümleri keşfetmek ve kodunu indirmek için paket GitHub'a bağlanabilir.

Dosya ayrıca bağımlılıkları açıklar ve desteklenen platformlar için derleme betikleri sağlar. Yüklenen bağımlılıklar sabittir (sürüm sabittir), bu da sol ped olayına benzer tekrar eden durumları ortadan kaldırır.

Gelecekte, herhangi bir ayrı depolama alanına bağlı olmayan merkeziyetsiz depolar oluşturulması ve meta veriler için dağıtılmış bir blok zinciri ile paketlerin depolanması için merkeziyetsiz bir altyapı kullanılması planlanmaktadır . Sürümler doğrudan bakımcılar tarafından onaylanacak ve paydaşlar tarafından incelenecektir. Paketlerin bakımı, desteği, dağıtımı ve doğrulanmasına katkıda bulunmak için kripto para birimi token'larının dağıtılması mümkün olabilir.

Son olarak, projenin şu anda platformlar arası bir uygulama olarak geliştirilmekte olduğunu belirtmekte fayda var (şu anda macOS ve Linux destekleniyor, Windows desteği ise geliştirme aşamasında). Proje kodu TypeScript ile yazılmış olup Apache 2.0 lisansı altında dağıtılmaktadır (brew, Ruby ile yazılmış ve BSD lisansı altında yayınlanmıştır).

Daha fazla bilgi edinmek isterseniz, aşağıdaki bağlantıdan Tea'nin detaylarına ve kullanım kılavuzuna ulaşabilirsiniz.


Google'da tercih edilen kaynak olarak ekleyin.