티 더 뉴 브루 크리에이터 패키지 매니저

차

차는 코드 배포 방식을 바꿀 새로운 기술을 만들고 있습니다.

인기 있는 macOS 홈브루 패키지 관리 시스템인 brew 의 개발자 맥스 하웰은 brew의 개발을 계승하여 패키지 관리 기능을 넘어 분산 저장소와 연동되는 통합 패키지 관리 인프라를 제공하는 새로운 패키지 관리자 'Tea'를 개발 중이라고 발표했습니다 .

Tea는 개념적으로 기존 패키지 관리자와는 다르며 , "패키지를 설치하고 싶다"는 방식 대신 "패키지를 사용하고 싶다"는 방식을 사용합니다.

구체적으로 말하자면, Tea에는 패키지 설치 명령어가 따로 없습니다 . 대신, 현재 시스템과 겹치지 않는 패키지 내용을 실행하기 위해 환경 생성 기능을 사용합니다. 패키지는 별도의 ~/.tea 디렉토리에 저장되며 절대 경로가 지정되지 않습니다 (이동 가능합니다).

Tea는 두 가지 기본 작동 모드를 제공합니다. 하나는 설치된 패키지가 있는 환경에 접근할 수 있는 명령 셸로 이동하는 모드이고, 다른 하나는 패키지 관련 명령을 직접 실행하는 모드입니다. 예를 들어, "tea +gnu.org/wget"을 실행하면 패키지 관리자가 wget 유틸리티와 필요한 모든 종속성을 다운로드한 다음, 설치된 wget 유틸리티를 사용할 수 있는 환경에서 셸에 접근할 수 있도록 해줍니다.

두 번째 방법은 ` tea +gnu.org/wget -qO- tea.xyz/white-paper | tea +charm.sh/glow glow -`와 같이 직접 실행하는 것입니다 . 이 명령은 wget 유틸리티를 설치하고 별도의 환경에서 즉시 실행하여 파일을 다운로드한 후 glow 유틸리티로 렌더링합니다. 더 복잡한 명령 체인도 가능합니다. 예를 들어 `white-paper.pdf` 파일을 다운로드하고 glow 유틸리티로 처리하려면 다음 명령을 사용할 수 있습니다(wget과 glow가 설치되어 있지 않으면 자동으로 설치됩니다).

마찬가지로 스크립트, 코드 예제 및 유용한 문구를 직접 실행하고 작업에 필요한 도구를 자동으로 로드할 수 있습니다.

예를 들어 다음을 실행합니다.

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 언어 툴킷을 설치하고 "–yellow"를 인수로 사용하여 colors.go 스크립트를 실행합니다.

tea 명령어를 매번 호출하는 것을 피하려면, tea를 범용 가상 환경 관리자 및 누락된 프로그램 처리기로 연결할 수 있습니다. 이렇게 하면 실행 중인 프로그램을 사용할 수 없는 경우 설치되고, 이미 설치되어 있는 경우에는 가상 환경에서 실행됩니다.

현재 Tea에서 사용할 수 있는 패키지는 pantry.core와 pantry.extra라는 두 개의 컬렉션에 모여 있으며 , 여기에는 패키지 다운로드 소스, 빌드 스크립트 및 종속성을 설명하는 메타데이터가 포함되어 있습니다.

pantry.core 컬렉션 에는 Tea 개발자들이 지속적으로 업데이트하고 테스트하는 핵심 라이브러리와 유틸리티가 포함되어 있습니다 . pantry.extra에는 아직 안정화되지 않았 거나 커뮤니티에서 제안한 패키지가 포함되어 있습니다. 웹 인터페이스를 통해 이러한 패키지를 탐색할 수 있습니다.

Tea용 패키지를 생성하는 프로세스는 크게 단순화되고 범용 package.yml 파일(예제)을 생성하는 것으로 축소되어 각각의 새 버전에 맞게 패키지를 조정할 필요가 없습니다. 새 버전을 검색하고 해당 코드를 다운로드하려면 패키지를 GitHub에 연결할 수 있습니다.

또한 이 파일은 종속성을 설명하고 지원되는 플랫폼에 대한 빌드 스크립트를 제공합니다. 설치된 종속 항목은 변경할 수 없으므로(버전이 고정됨) 왼쪽 패드 문제와 유사한 반복 상황을 제거합니다.

향후에는 특정 저장소에 종속되지 않는 탈중앙화 저장소를 구축하고, 메타데이터에는 분산형 블록체인을, 패키지 저장에는 탈중앙화 인프라를 사용할 계획입니다. 버전은 유지 관리자가 직접 인증하고 이해관계자가 검토합니다. 향후에는 패키지 유지 관리, 지원, 배포 및 검증에 기여할 수 있도록 암호화폐 토큰을 배포하는 방안도 고려될 수 있습니다.

마지막으로, 이 프로젝트는 현재 크로스 플랫폼 애플리케이션으로 개발 중이며 (macOS와 Linux가 지원되고 Windows 지원은 개발 중입니다), 프로젝트 코드는 TypeScript로 작성되었고 Apache 2.0 라이선스로 배포됩니다(brew는 Ruby로 작성되었으며 BSD 라이선스로 배포되었습니다).

더 자세한 내용을 알고 싶으시면 다음 링크에서 Tea의 상세 정보와 사용자 설명서를 참조하십시오.


Google에서 선호하는 검색 엔진으로 추가