tea יוצרת טכנולוגיות חדשות שישנו את אופן הפצת הקוד
מקס האוול, סופר של מערכת ניהול החבילות הפופולרית להתבשל (ביתית) של macOS, חשף את זה עובד על פיתוח מנהל חבילות חדש, בשם Tea, אשר ממוקמת כהמשך של פיתוח בירה, מעבר למנהל החבילות ומציעה תשתית ניהול חבילות מאוחדת שעובדת עם מאגרים מבוזרים.
תה אינו דומה מבחינה רעיונית למנהלי חבילות מסורתיים., ובמקום פרדיגמת "אני רוצה להתקין חבילה", הוא משתמש בגישת "אני רוצה להשתמש בחבילה".
בפרט לתה אין פקודת התקנת חבילה ככזה, אך במקום זאת משתמש ביצירת סביבה כדי להפעיל תוכן חבילה שאינו חופף למערכת הנוכחית. חבילות ממוקמות בספריית ~/.tea נפרדת ואינן מוקצות לנתיבים מוחלטים (ניתן להזיז אותן).
שני מצבים בסיסיים מסופקים בתה של הפעולה: קפוץ לתוך מעטפת פקודה עם גישה לסביבה עם חבילות מותקנות והפעילו ישירות פקודות הקשורות לחבילה. לדוגמה, על ידי הפעלת "tea +gnu.org/wget", מנהל החבילות יוריד את כלי השירות wget ואת כל התלות הנדרשת, ולאחר מכן יספק גישת מעטפת בסביבה שבה כלי השירות wget המותקן זמין.
האפשרות השנייה כוללת השקה ישירה: «tea +gnu.org/wget -qO- tea.xyz/white-paper | tea +charm.sh/glow glow – ", אשר יתקין את כלי השירות wget ויפעיל אותו מיד בסביבה נפרדת, תוך הורדת קובץ אשר יעובד עם זוהר. שרשור מורכב אפשרי, למשל, כדי להוריד את הקובץ white-paper.pdf ולעבד אותו עם כלי השירות glow, אתה יכול להשתמש במבנה הבא (אם wget ו-glow אינם קיימים, הם יותקנו).
באופן דומה, אתה יכול להריץ סקריפטים ישירות, דוגמאות קוד ו-one-liners, טוענים אוטומטית את הכלים הדרושים לעבודה.
ללא דוגמה, הפעל:
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 ויריץ את הסקריפט colors.go עם ה-"–yellow" כארגומנט.
כדי לא לקרוא לפקודת התה בכל פעם, אפשר לחבר אותה כמנהל אוניברסלי של סביבות וירטואליות ומנהל התקן של תוכניות חסרות. במקרה זה, אם התוכנית הפועלת אינה זמינה, היא תותקן, ואם הותקנה בעבר, היא תתחיל בסביבה שלך.
במתכונתו הנוכחית, החבילות הזמינות לתה נאספות בשני אוספים, מזווה.ליבה ומזווה.תוספת, הכולל מטא נתונים המתארים מקורות הורדת חבילות, סקריפטים לבנות ותלות.
האוסף pantry.core כולל ספריות ליבה וכלי עזר שמפתחי Tea התעדכן ונבדק. pantry.extra מכיל חבילות שאינן מיוצבות היטב או שהוצעו על ידי הקהילה. ממשק אינטרנט מסופק כדי לנווט בין החבילות.
תהליך יצירת החבילות לתה מפושט מאוד ומצטמצם ליצירת קובץ package.yml אוניברסלי (דוגמה), שאינו מצריך התאמה של החבילה לכל גרסה חדשה. כדי לגלות גרסאות חדשות ולהוריד את הקוד שלה, ניתן לקשר את החבילה ל-GitHub.
הקובץ גם מתאר תלות ומספק סקריפטים לבנות עבור פלטפורמות נתמכות. התלות המותקנות אינה ניתנת לשינוי (הגרסה קבועה), מה שמבטל מצבים חוזרים דומים לתקרית המשטח השמאלי.
בעתיד, מתוכנן ליצור מאגרים מבוזריםue אינם קשורים לאחסון נפרד כלשהו ומשתמשים בבלוקצ'יין מבוזר עבור מטא נתונים ותשתית מבוזרת לאחסון חבילות. הגרסאות יאושרו ישירות על ידי המתחזקים ויבדקו על ידי בעלי העניין. אפשר להפיץ אסימוני מטבעות קריפטוגרפיים כדי לתרום לתחזוקה, תמיכה, הפצה ואימות של חבילות.
לבסוף, ראוי להזכיר שכרגע הפרויקט פותח בתחילה כפלטפורמה צולבת (macOS ו-Linux נתמכות כרגע, התמיכה של Windows נמצאת בפיתוח.) הקוד של הפרויקט כתוב ב-TypeScript ומשוחרר תחת רישיון Apache 2.0 (החליטה נכתבה ברובי ונשלחה תחת רישיון BSD).
אם אתה מעוניין להיות מסוגל ללמוד עוד על זה, אתה יכול לעיין בפרטים של תה ובמדריך למשתמש באתר הקישור הבא.