Homebrew를 통해 프로젝트를 사용할 수 있도록 만들기
7914 단어 brewproductivitytooling
apt
, pacman
또는 brew
와 같은 패키지 관리자를 사용하는 것은 업계 표준이 되었지만(wget + 직접 컴파일 + 설치에 비해) 여기에 프로젝트를 게시하는 것은 상당히 지루할 수 있습니다.이 기사에서는 홈브류(Linux 및 MacOS 모두에서 사용 가능)용 탭 생성의 기본 사항을 살펴보겠습니다.
탭 만들기
탭은 홈브류용 공식(설치 스크립트)의 외부 소스입니다. 사용하려면
brew tap user/repo
로 추가해야 합니다. 홈브류/코어에 새 공식을 제출하고 승인(또는 거부)을 기다리는 것보다 훨씬 쉽습니다.새 탭을 만드는 것은 다음과 같이 쉽습니다.
# creates a folder under /opt/homebrew/Library/Taps/xxx/xxx
brew tap-new arkscript-lang/homebrew-arkscript
# generates a formula in your newly created tap
brew create --cmake \
'https://github.com/ArkScript-lang/Ark.git' \
--HEAD \
--set-name '[email protected]' \
--set-version '3.3.0' \
--tap arkscript-lang/homebrew-arkscript
필요한 빌드 유형을
--cmake
로 지정했습니다(다른 템플릿은 크리스탈, 고, 메손, 파이썬, 노드, 루비, 펄 및 러스트에 사용 가능). URL은 파일이 아니라 저장소입니다). --HEAD
로 수식의 이름을 지정한 다음 버전을 set-name
로 지정했습니다. 마지막으로 set-version
로 리포지토리를 지정했습니다(사용자 및 리포지토리 이름이 GitHub/GitLab/etc에서 일치해야 함).수식 편집
이 마지막 명령을 입력하면 공식을 편집하기 위해 선택한 편집기(저에게는 vim)에 들어가게 됩니다.
# Documentation: https://docs.brew.sh/Formula-Cookbook
# https://rubydoc.brew.sh/Formula
# PLEASE REMOVE ALL GENERATED COMMENTS BEFORE SUBMITTING YOUR PULL REQUEST!
class ArkscriptAT330 < Formula
desc ""
homepage ""
license ""
head "https://github.com/ArkScript-lang/Ark.git"
depends_on "cmake" => :build
def install
# ENV.deparallelize # if your formula fails when building in parallel
system "cmake", "-S", ".", "-B", "build", *std_cmake_args
system "cmake", "--build", "build"
system "cmake", "--install", "build"
end
test do
# `test do` will create, run in and delete a temporary directory.
#
# This test will fail and we won't accept that! For Homebrew/homebrew-core
# this will need to be a test that verifies the functionality of the
# software. Run the test with `brew test [email protected]`. Options passed
# to `brew install` such as `--HEAD` also need to be provided to `brew test`.
#
# The installed folder is not in the path, so use the entire path to any
# executables being tested: `system "#{bin}/program", "do", "something"`.
system "false"
end
end
tap
를 사용했기 때문에 이 수식은 --HEAD
에만 적용됩니다. 이를 해결하기 위해 brew install --head
를 추가합니다.class ArkscriptAT330 < Formula
desc ""
homepage ""
url "https://github.com/ArkScript-lang/Ark.git", tag: "v3.3.0"
license ""
head "https://github.com/ArkScript-lang/Ark.git"
SPDX 라이센스 명명 규칙( https://spdx.org/licenses/ )을 따라야 하는 라이센스 필드 바로 앞에 와야 합니다(예:
url
).맞춤 단계
모든 필드가 채워지고 기본 주석이 제거되면 수식의 단계를 조금 더 수행할 수 있습니다.
테스트를 위해
MPL-2.0
단계를 추가했습니다.class ArkscriptAT330 < Formula
# ...
def post_install
ohai "ℹ️ Add ARKSCRIPT_PATH=" + lib + "/Ark/ to your bashrc/zshrc"
end
# ...
이는 기본적으로 프로젝트가 작업할 수 있도록 환경 변수를 셸 구성 파일에 추가하도록 사용자에게 지시합니다
post_install
(메시지 인쇄). 오류 메시지를 표시하기 위한 ohai
와 경고를 위한 odie
도 있습니다. 여기에서 수식을 사용자 정의하기 위한 추가 단계 및 필드를 찾을 수 있습니다: https://rubydoc.brew.sh/Formula.html .오류 확인
이제 수식을 작성했으므로 다음을 사용하여 테스트해 보겠습니다.
brew audit --new [email protected]
아무 것도 반환하지 않으면 계속 진행할 수 있으며 탭을 게시할 수 있습니다.
다음을 사용하여 잘못된 구성 및 오류를 확인하는 수식을 작성해야 합니다.
brew install --build-from-source <user>/<repo>/<formula>
테스트를 다시 수행해야 하는 경우
opoo
를 수행하십시오.탭 게시
먼저
brew remove <formula>
이름으로 아직 완료되지 않은 경우 GitHub/GitLab에 리포지토리를 생성해야 합니다. 접두사는 필수입니다.그런 다음 다음을 사용하여 탭에 리모컨을 추가할 수 있습니다.
git remote add origin [email protected]:<user>/<repo>.git
작업을 커밋하면 이제 리포지토리에 푸시할 수 있습니다.
탭 사용
homebrew-<tap name>
를 사용하여 탭 추출 목록에 탭을 추가합니다. 그런 다음 공식은 brew tap <user>/<repo>
또는 brew install <formula>
이름이 이미 homebrew core에서 사용되는 경우 사용할 수 있습니다.더 나아가
탭 한 번으로 수식을 게시하고 프로젝트를 누구나 쉽게 사용할 수 있도록 만들었으므로 이제 더 나아가 다음 전체 가이드를 확인하고 싶을 수 있습니다. https://docs.brew.sh/Formula-Cookbook
Reference
이 문제에 관하여(Homebrew를 통해 프로젝트를 사용할 수 있도록 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/superfola/making-your-project-available-through-homebrew-1ll5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)