---
title: 安装Bazel
description: "ScaNN采用Bazel编译框架，要求Bazel版本5.4.0以上，通过Yum方式安装的Bazel版本较低，因此需要通过源码编译安装Bazel。"
url: https://www.hikunpeng.com/document/detail/zh/SRA/ecosystemEnable/ScaNN/kunpengscann_02_0006.html
sourcePath: /source/zh/SRA/ecosystemEnable/ScaNN/kunpengscann_02_0006.html
indexId: 98d437866841a38324ffaf251f8a3986ea6c36e2f4215a7e486c00f6167533c162
---
# 安装Bazel

ScaNN采用Bazel编译框架，要求Bazel版本5.4.0以上，通过Yum方式安装的Bazel版本较低，因此需要通过源码编译安装Bazel。

1. 使用PuTTY工具，以root用户登录服务器。
2. 进入Bazel源码编译目录。
  1 cd /path/to/bazel/

3. 下载Bazel 5.4.0源码bazel-5.4.0-dist.zip(https://github.com/bazelbuild/bazel/releases/download/5.4.0/bazel-5.4.0-dist.zip)至服务器Bazel源码编译路径“/path/to/bazel”。
  可以直接使用wget命令下载。

  1 wget https://github.com/bazelbuild/bazel/releases/download/5.4.0/bazel-5.4.0-dist.zip --no-check-certificate

4. 执行以下命令安装Bazel依赖。
  1 yum install java-11-openjdk java-11-openjdk-devel gcc git g++

  检查OpenJDK 11是否安装成功。

  1 java -version

  回显显示上述信息，表示安装成功。

  若OpenJDK版本低于此版本，编译Bazel可能会发生错误，导致无法正常构建Bazel。

5. （可选）若执行上述命令发现版本不匹配，请配置环境变量。

  a. 查找安装目录。
    1 find / -name java

  b. 找到安装目录后，配置环境变量，假设安装目录为“/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.oe2203sp3.aarch64”。

    - 方法一（永久生效）：
      1 2 3 echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.oe2203sp3.aarch64" >> /etc/profile echo "export PATH=\${JAVA_HOME}/bin:\${PATH}" >> /etc/profile source /etc/profile

    - 方法二（当前会话终端临时生效）：
      1 2 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.oe2203sp3.aarch64 export PATH=/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.oe2203sp3.aarch64/bin:$PATH

  c. 检查OpenJDK版本信息。
    1 java -version

6. 执行以下命令解压并编译Bazel。
  1 2 3 unzip bazel-5.4.0-dist.zip -d bazel-5.4.0 cd bazel-5.4.0 env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" bash ./compile.sh

7. 构建成功后，生成的可执行文件bazel在“bazel-5.4.0/output”路径中，将该路径配置在环境变量PATH中，以便后续编译ScaNN使用。
  1 export PATH=/path/to/bazel/bazel-5.4.0/output:$PATH

8. 执行以下命令验证。
  1 bazel --version

  回显信息显示，版本信息为5.4.0，证明安装成功。
