Tea the new brew maker gói quản lý

Trà

trà đang tạo ra các công nghệ mới sẽ thay đổi cách phân phối mã

Max Howell, tác giả của hệ thống quản lý gói homebrew phổ biến dành cho macOS, brew , đã thông báo rằng ông đang phát triển một trình quản lý gói mới có tên Tea, được định vị là sự tiếp nối của quá trình phát triển brew, vượt ra ngoài phạm vi của một trình quản lý gói thông thường và cung cấp một cơ sở hạ tầng quản lý gói thống nhất hoạt động với các kho lưu trữ phi tập trung.

Về mặt khái niệm, Tea không giống như các trình quản lý gói truyền thống , và thay vì sử dụng mô hình "Tôi muốn cài đặt một gói", nó sử dụng cách tiếp cận "Tôi muốn sử dụng một gói".

Cụ thể, Tea không có lệnh cài đặt gói theo đúng nghĩa; thay vào đó, nó sử dụng việc tạo môi trường để chạy nội dung gói không trùng lặp với hệ thống hiện tại. Các gói được đặt trong thư mục ~/.tea riêng biệt và không được gán đường dẫn tuyệt đối (chúng có thể được di chuyển).

Tea cung cấp hai chế độ hoạt động cơ bản: chuyển đến giao diện dòng lệnh với quyền truy cập vào môi trường có các gói đã được cài đặt, và trực tiếp gọi các lệnh liên quan đến gói. Ví dụ, chạy lệnh "tea +gnu.org/wget" sẽ khiến trình quản lý gói tải xuống tiện ích wget và tất cả các phụ thuộc cần thiết, sau đó cung cấp quyền truy cập vào giao diện dòng lệnh trong môi trường nơi có sẵn tiện ích wget đã được cài đặt.

Phương án thứ hai liên quan đến việc khởi chạy trực tiếp: ` tea +gnu.org/wget -qO-tea.xyz/white-paper | tea +charm.sh/glow glow -` , thao tác này sẽ cài đặt tiện ích wget và chạy ngay lập tức trong một môi trường riêng biệt, tải xuống một tệp tin mà sau đó sẽ được xử lý bằng glow. Một chuỗi thao tác phức tạp hơn cũng có thể thực hiện được; ví dụ, để tải xuống tệp `white-paper.pdf` và xử lý nó bằng tiện ích glow, bạn có thể sử dụng lệnh sau (nếu wget và glow chưa được cài đặt, chúng sẽ được cài đặt).

Tương tự, bạn có thể trực tiếp chạy các tập lệnh , ví dụ mã và các cụm từ thông minh, tự động tải các công cụ cần thiết cho công việc.

Không có ví dụ, chạy:

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

Nó sẽ cài đặt bộ công cụ ngôn ngữ Go và chạy tập lệnh colors.go với đối số “–yellow”.

Để tránh phải gọi lệnh tea mỗi lần, bạn có thể kết nối nó như một trình quản lý môi trường ảo đa năng và trình xử lý chương trình bị thiếu. Trong trường hợp này, nếu chương trình đang chạy không khả dụng, nó sẽ được cài đặt, và nếu nó đã được cài đặt trước đó, nó sẽ được khởi chạy trong môi trường của bạn.

Ở dạng hiện tại, các gói có sẵn cho Tea được tập hợp trong hai bộ sưu tập , pantry.core và pantry.extra , bao gồm siêu dữ liệu mô tả nguồn tải xuống gói, tập lệnh xây dựng và các phần phụ thuộc.

Bộ sưu tập pantry.core bao gồm các thư viện và tiện ích cốt lõi mà các nhà phát triển Tea liên tục cập nhật và kiểm tra. pantry.extra chứa các gói chưa được ổn định hoặc được cộng đồng đề xuất. Giao diện web được cung cấp để duyệt các gói này.

Quá trình tạo các gói cho Tea được đơn giản hóa rất nhiều và giảm xuống thành việc tạo một tệp pack.yml chung (ví dụ), tệp này không yêu cầu gói phải được điều chỉnh cho từng phiên bản mới. Để khám phá các phiên bản mới và tải xuống mã của nó, gói có thể được liên kết với GitHub.

Tệp này cũng mô tả các phần phụ thuộc và cung cấp tập lệnh xây dựng cho các nền tảng được hỗ trợ. Các phần phụ thuộc đã cài đặt là không thay đổi (phiên bản đã được sửa), giúp loại bỏ các tình huống lặp lại tương tự như sự cố bàn phím bên trái.

Trong tương lai, kế hoạch là tạo ra các kho lưu trữ phi tập trung không liên kết với bất kỳ thiết bị lưu trữ riêng biệt nào và sử dụng chuỗi khối phân tán cho siêu dữ liệu cũng như cơ sở hạ tầng phi tập trung để lưu trữ các gói phần mềm. Các phiên bản sẽ được người bảo trì chứng nhận trực tiếp và được các bên liên quan xem xét. Có thể sẽ có hình thức phân phối token tiền điện tử để đóng góp vào việc bảo trì, hỗ trợ, phân phối và xác minh các gói phần mềm.

Cuối cùng, cần phải đề cập rằng dự án hiện đang được phát triển như một ứng dụng đa nền tảng (hiện tại hỗ trợ macOS và Linux, hỗ trợ Windows đang được phát triển). Mã nguồn dự án được viết bằng TypeScript và phân phối theo giấy phép Apache 2.0 (brew được viết bằng Ruby và phát hành theo giấy phép BSD).

Nếu bạn muốn tìm hiểu thêm, bạn có thể tham khảo thông tin chi tiết và hướng dẫn sử dụng phần mềm Tea tại liên kết sau.


Thêm vào danh sách nguồn ưu tiên trên Google.