>  기사  >  백엔드 개발  >  여러 Go 바이너리를 동시에 빌드하는 방법은 무엇입니까?

여러 Go 바이너리를 동시에 빌드하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-02 01:46:31421검색

How to Build Multiple Go Binaries Simultaneously?

동시에 여러 패키지 바이너리 빌드

귀하의 문의에 따르면, 최상위 "cmd"를 생성하여 여러 패키지 바이너리를 동시에 빌드할 수 있습니다. " 폴더 구조는 다른 곳에서 제안되었습니다. 그러나 이 접근 방식에는 문제가 있습니다.

"cmd" 폴더 구조를 사용하여 개별 바이너리를 구축하려면:

  1. 다음과 같은 파일 구조가 있는지 확인하세요(예: 작업 예에 따라):

    ├── cmd
    │   ├── bin1
    │   │   └── main.go
    │   ├── bin2
    │   │   └── main.go
    ├── src
    │   ├── shared
    │   │   ├── foo
    │   │   │   └── foo.go
  2. 프로젝트의 루트 디렉터리로 이동합니다.
  3. 빌드하려는 각 바이너리에 대해 다음 명령을 실행하고 "< 바이너리 이름>" 원하는 바이너리 이름으로:

    go build -o "<binary-name>" ./cmd/<binary-name></p></li>
    </ol>
    <p>예:</p>
    <pre class="brush:php;toolbar:false">go build -o bin1 ./cmd/bin1
    go build -o bin2 ./cmd/bin2

    이렇게 하면 프로젝트의 루트 디렉터리에 "bin1" 및 "bin2" 바이너리가 생성됩니다. .

    스크립트를 사용한 대체 접근 방식

    바이너리를 $GOPATH/bin에 설치하지 않으려면 패키지를 반복하고 각 바이너리를 개별적으로 빌드합니다.

    1. 다음 내용으로 "build-all.sh"라는 스크립트를 생성합니다.

      <code class="sh">#!/bin/bash
      
      # Iterate over the packages in the "cmd" directory
      for CMD in `ls cmd`; do
      
        # Build the binary for each package
        go build -o $CMD ./cmd/$CMD
      done</code>
    2. 스크립트 실행 가능:

      <code class="sh">chmod +x build-all.sh</code>
    3. 스크립트를 실행하여 한 단계로 모든 바이너리를 빌드합니다.

      <code class="sh">./build-all.sh</code>

    이 접근 방식은 유연성과 제어를 제공합니다. 바이너리 빌드 프로세스를 통해 많은 오픈 소스 프로젝트에서 사용하는 것을 모방합니다.

    위 내용은 여러 Go 바이너리를 동시에 빌드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.