Ubuntu에 Bazel 설치

문제 신고 소스 보기 1박 · 7.4 에서 자세한 내용을 확인하실 수 있습니다. 7.3 · 7.2 · 7.1 · 7.0 · 6.5

이 페이지에서는 Ubuntu에 Bazel을 설치하기 위한 옵션을 설명합니다. 또한 백업 옵션으로 필요한 경우(예: 관리 액세스 권한이 없는 경우) Bazel 완성 스크립트 및 바이너리 설치 프로그램 링크도 제공합니다.

지원되는 Ubuntu Linux 플랫폼:

  • 22.04(LTS)
  • 20.04 (LTS)
  • 18.04 (LTS)

Bazel은 다른 Ubuntu 출시 버전 및 Debian과 호환되어야 합니다. "스트레치" 이상이지만 테스트되지 않았으며 작동이 보장되지는 않습니다.

다음 방법 중 하나를 사용하여 Ubuntu에 Bazel을 설치합니다.

참고: Arm 기반 시스템의 경우 APT 저장소에 arm64 출시가 포함되어 있지 않으며 사용 가능한 바이너리 설치 프로그램이 없습니다. Bazelisk 또는 소스에서 컴파일할 수 있습니다

Bazel에는 두 개의 완료 스크립트가 함께 제공됩니다. Bazel을 설치한 후 다음 작업을 할 수 있습니다.

Bazel의 apt 저장소 사용

1단계: Bazel 배포 URI를 패키지 소스로 추가

참고: 이 단계는 일회성 설정 단계입니다.

sudo apt install apt-transport-https curl gnupg -y
curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor >bazel-archive-keyring.gpg
sudo mv bazel-archive-keyring.gpg /usr/share/keyrings
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

구성요소 이름 'jdk1.8'은 기존 사유로만 유지되며 지원되거나 포함된 JDK 버전과는 관련이 없습니다. Bazel 출시는 Java 버전에 구애되지 않습니다. 'jdk1.8' 변경 구성요소 이름을 사용하면 저장소의 기존 사용자가 손상될 수 있습니다.

2단계: Bazel 설치 및 업데이트

sudo apt update && sudo apt install bazel

설치가 완료되면 일반 시스템 업데이트의 일환으로 최신 버전의 Bazel로 업그레이드할 수 있습니다.

sudo apt update && sudo apt full-upgrade

bazel 패키지는 항상 최신 안정화 버전의 Bazel을 설치합니다. 최신 버전 외에도 특정 이전 버전의 Bazel을 설치할 수 있습니다. 예를 들면 다음과 같습니다.

sudo apt install bazel-1.0.0

이렇게 하면 Bazel 1.0.0이 시스템에 /usr/bin/bazel-1.0.0로 설치됩니다. 이는 프로젝트를 빌드하는 데 특정 버전의 Bazel이 필요한 경우에 유용할 수 있습니다. 예를 들어 .bazelversion 파일을 사용하여 빌드할 Bazel 버전을 명시적으로 지정하는 경우입니다.

원하는 경우 심볼릭 링크를 만들어 bazel를 특정 버전으로 설정할 수 있습니다.

sudo ln -s /usr/bin/bazel-1.0.0 /usr/bin/bazel
bazel --version  # 1.0.0

3단계: JDK 설치 (선택사항)

Bazel은 비공개 번들 JRE를 런타임으로 포함하며 특정 버전의 Java를 설치할 필요가 없습니다.

그러나 Bazel을 사용하여 Java 코드를 빌드하려면 JDK를 설치해야 합니다.

sudo apt install default-jdk

바이너리 설치 프로그램 사용

일반적으로 apt 저장소를 사용해야 하지만 머신에 관리자 권한이 없거나 맞춤 저장소를 추가할 수 없는 경우 바이너리 설치 프로그램이 유용할 수 있습니다.

바이너리 설치 프로그램은 Bazel의 GitHub 출시 페이지에서 다운로드할 수 있습니다.

설치 프로그램에 Bazel 바이너리가 포함되어 있으며 이를 $HOME/bin에 추출합니다. 있습니다. Bazel이 작동하려면 일부 추가 라이브러리를 수동으로 설치해야 합니다.

1단계: 필수 패키지 설치

Bazel이 작동하려면 C++ 컴파일러와 압축 해제 / zip이 필요합니다.

sudo apt install g++ unzip zip

Bazel을 사용하여 Java 코드를 빌드하려면 JDK를 설치합니다.

sudo apt-get install default-jdk

2단계: 설치 프로그램 실행하기

다음으로, bazel-version-installer-linux-x86_64.sh라는 Bazel 바이너리 설치 프로그램을 다운로드합니다. (GitHub의 Bazel 출시 페이지 참조)

다음과 같이 실행합니다.

chmod +x bazel-version-installer-linux-x86_64.sh
./bazel-version-installer-linux-x86_64.sh --user

--user 플래그는 시스템의 $HOME/bin 디렉터리에 Bazel을 설치합니다. .bazelrc 경로를 $HOME/.bazelrc로 설정합니다. --help 명령어를 사용하여 추가 설치 옵션을 확인합니다.

3단계: 환경 설정

위와 같이 --user 플래그를 사용하여 Bazel 설치 프로그램을 실행한 경우 Bazel 실행 파일이 $HOME/bin 디렉터리에 설치됩니다. 다음과 같이 이 디렉터리를 기본 경로에 추가하는 것이 좋습니다.

export PATH="$PATH:$HOME/bin"

이 명령어를 ~/.bashrc 또는 ~/.zshrc 파일에 추가하여 영구적으로 적용할 수도 있습니다.

Bazel Docker 컨테이너 사용

각 Bazel 버전에 대해 Bazel이 설치된 Docker 컨테이너를 gcr.io/bazel-public/bazel에 게시합니다. 다음과 같이 Docker 컨테이너를 사용할 수 있습니다.

$ docker pull gcr.io/bazel-public/bazel:<bazel version>

Docker 컨테이너는 이 단계에 따라 빌드됩니다.