---
title: 源码编译安装
description: "1. 获取etcd源码。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/Etcd/openmind_etcd3120_03_0014.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/Etcd/openmind_etcd3120_03_0014.html
indexId: 7f096d69c1f57372aa694bf1d11a63f9076ca2edbe90e71b7516bbfbb3b6e62d73
---
# 源码编译安装

1. 获取etcd源码。

  a. 在本地浏览器下载    etcd源码(https://codeload.github.com/etcd-io/etcd/tar.gz/refs/tags/v3.1.20)
。
  b. 将源码复制至服务器“/home”目录。
若服务器可以访问网络，则可以直接在服务器上使用如下命令下载源码。

```
cd /home
wget https://codeload.github.com/etcd-io/etcd/tar.gz/refs/tags/v3.1.20
mv v3.1.20 etcd-3.1.20.tar.gz
```


2. 进入“/home”目录。
  1 cd /home/

3. 解压文件。
  1 tar -zxvf etcd-3.1.20.tar.gz

4. 配置环境变量。

  a. 打开“/etc/profile”文件。
    1 vim /etc/profile

  b. 按“i”进入编辑模式，在文件末尾加入以下配置，因为etcd默认使用V2版本，这里需要V3版本的API。

```
export ETCDCTL_API=3
export ETCD_UNSUPPORTED_ARCH=arm64
```


  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
5. 使环境变量生效。
  1 source /etc/profile

6. 执行编译。
  1 2 cd etcd-3.1.20 ./build

  编译过程中如出现报错：请参考编译etcd过程中提示Not a git repository的解决方法和编译etcd过程中提示no required module provides package的解决方法和编译etcd过程中提示Needed a single revision的解决方法。

7. 查找安装路径，编译成功后，会在“etcd-3.1.20/bin”目录生成两个可执行文件etcd和etcdctl。
  1 2 cd /home ls etcd-3.1.20/bin

8. 修改安装路径。将etcd-3.1.20文件夹的“bin”目录及“etcd.conf.yml.sample”文件，放到“/usr/local/etcd”目录下，并查看路径。
  1 2 3 4 mkdir -p /usr/local/etcd/conf cp -r /home/etcd-3.1.20/bin /usr/local/etcd cp -r /home/etcd-3.1.20/etcd.conf.yml.sample /usr/local/etcd/conf/etcd.conf ls /usr/local/etcd
