1. 为什么你需要Gitee镜像搭建ESP-IDF环境第一次在Ubuntu上搭建ESP-IDF开发环境时我盯着终端里GitHub下载进度条卡在5%整整半小时那种绝望感至今记忆犹新。后来发现这是国内开发者普遍面临的困境——GitHub服务器在国外下载ESP-IDF主仓库和数十个子模块时速度经常只有几十KB/s还动不动就断开连接。乐鑫官方很贴心地为国内开发者准备了Gitee镜像方案。实测下来原本需要3-4小时的安装过程用镜像方案20分钟就能搞定。更重要的是整个过程稳定可靠再也不用担心下载到一半失败重来。如果你是刚接触ESP32开发的初学者需要频繁重装开发环境的技术支持人员网络条件不稳定的开发者这个方案能帮你省下大量等待时间。我最近给团队新配的10台开发机全部采用这个方案每台环境搭建时间控制在30分钟内效率提升非常明显。2. 环境准备这些工具一个都不能少2.1 基础软件检查清单在开始之前建议先运行这几个命令检查基础环境lsb_release -a # 确认Ubuntu版本 python3 --version # 需要Python 3.7 git --version # 需要Git 2.28 df -h # 检查磁盘空间建议预留10GB我遇到过最坑的情况是Python版本不对。有个同事的Ubuntu 18.04默认Python是3.6运行install.sh时各种报错。后来用下面命令升级才解决sudo apt update sudo apt install python3.8 python3-pip sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 12.2 网络环境优化虽然我们用Gitee镜像但有些工具还是需要访问外网。建议先测试这两个关键域名ping gitee.com -c 3 ping dl.espressif.com -c 3如果dl.espressif.com延迟很高可以修改hosts文件添加CDN节点echo 139.159.235.179 dl.espressif.com | sudo tee -a /etc/hosts3. 实战三步搭建极速开发环境3.1 克隆ESP-IDF主仓库传统方法是从GitHub克隆现在我们改用Gitee镜像mkdir -p ~/esp # 创建工作目录 cd ~/esp git clone https://gitee.com/EspressifSystems/esp-idf.git这里有个小技巧如果克隆中途失败可以进入esp-idf目录执行git fetch --unshallow继续下载比重新克隆快得多。3.2 获取加速工具包乐鑫提供的esp-gitee-tools是整套方案的核心cd ~/esp git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git这个仓库里有几个关键脚本submodule-update.sh用于加速下载子模块install.sh一键安装工具链export.sh设置环境变量建议把工具路径加入环境变量后续使用更方便echo export EGTS_PATH~/esp/esp-gitee-tools ~/.bashrc source ~/.bashrc3.3 一键完成依赖安装进入esp-idf目录执行cd ~/esp/esp-idf . $EGTS_PATH/submodule-update.sh这个脚本会自动将GitHub子模块地址替换为Gitee镜像并行下载所有子模块自动重试失败的下载任务我测试过原本需要2小时下载的子模块用这个脚本15分钟就能完成。如果遇到某个模块下载卡住可以CtrlC中断后重新运行脚本它会自动跳过已完成的模块。4. 工具链安装的两种姿势4.1 推荐方案使用Gitee镜像安装执行以下命令开始安装. $EGTS_PATH/install.sh这个脚本的特点是自动识别系统架构x86_64/arm64从国内服务器下载预编译工具链支持断点续传安装完成后自动设置环境变量实测在100M宽带环境下完整安装约需8分钟。相比之下从GitHub直接下载通常需要40分钟以上。4.2 备选方案官方CDN直连如果镜像服务器不稳定可以改用乐鑫官方CDNexport IDF_GITHUB_ASSETSdl.espressif.com/github_assets ./install.sh这个方式下载速度也不错但要注意需要确保能访问dl.espressif.com下载进度显示可能不准确不会自动设置环境变量5. 环境验证与常见问题排查5.1 基础功能测试安装完成后运行以下命令验证. ./export.sh # 加载环境变量 idf.py --version # 检查工具链版本 python -m pip list # 检查Python依赖正常应该看到类似输出ESP-IDF v4.4.3 Toolchain version: riscv32-esp-elf-gcc (crosstool-NG esp-2021r2) 8.4.05.2 我踩过的那些坑问题1执行idf.py时提示python: command not found解决方案sudo ln -s /usr/bin/python3 /usr/bin/python问题2编译时报错CMake Error at ...解决方案rm -rf build sdkconfig # 清除缓存 idf.py fullclean问题3下载工具链时证书错误解决方案sudo apt install ca-certificates --reinstall6. 进阶技巧让开发更高效6.1 自定义镜像源如果公司有内部镜像服务器可以修改submodule-update.shsed -i s/gitee.com/your-mirror.com/g $EGTS_PATH/submodule-update.sh6.2 离线安装包制作对于需要批量部署的场景可以打包已下载的组件tar czvf esp-idf-offline.tar.gz ~/esp/esp-idf ~/.espressif在其他机器上解压后只需设置环境变量即可使用export IDF_PATH~/esp/esp-idf export PATH$PATH:$HOME/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin6.3 版本切换指南如果需要切换ESP-IDF版本cd ~/esp/esp-idf git checkout v4.4.3 # 切换到指定版本 git submodule update --init --recursive ./install.sh建议在切换版本前备份当前环境cp -r ~/.espressif ~/.espressif_backup
Ubuntu下ESP-IDF环境搭建:巧用Gitee镜像与脚本,告别GitHub龟速下载
发布时间:2026/5/26 12:12:45
1. 为什么你需要Gitee镜像搭建ESP-IDF环境第一次在Ubuntu上搭建ESP-IDF开发环境时我盯着终端里GitHub下载进度条卡在5%整整半小时那种绝望感至今记忆犹新。后来发现这是国内开发者普遍面临的困境——GitHub服务器在国外下载ESP-IDF主仓库和数十个子模块时速度经常只有几十KB/s还动不动就断开连接。乐鑫官方很贴心地为国内开发者准备了Gitee镜像方案。实测下来原本需要3-4小时的安装过程用镜像方案20分钟就能搞定。更重要的是整个过程稳定可靠再也不用担心下载到一半失败重来。如果你是刚接触ESP32开发的初学者需要频繁重装开发环境的技术支持人员网络条件不稳定的开发者这个方案能帮你省下大量等待时间。我最近给团队新配的10台开发机全部采用这个方案每台环境搭建时间控制在30分钟内效率提升非常明显。2. 环境准备这些工具一个都不能少2.1 基础软件检查清单在开始之前建议先运行这几个命令检查基础环境lsb_release -a # 确认Ubuntu版本 python3 --version # 需要Python 3.7 git --version # 需要Git 2.28 df -h # 检查磁盘空间建议预留10GB我遇到过最坑的情况是Python版本不对。有个同事的Ubuntu 18.04默认Python是3.6运行install.sh时各种报错。后来用下面命令升级才解决sudo apt update sudo apt install python3.8 python3-pip sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 12.2 网络环境优化虽然我们用Gitee镜像但有些工具还是需要访问外网。建议先测试这两个关键域名ping gitee.com -c 3 ping dl.espressif.com -c 3如果dl.espressif.com延迟很高可以修改hosts文件添加CDN节点echo 139.159.235.179 dl.espressif.com | sudo tee -a /etc/hosts3. 实战三步搭建极速开发环境3.1 克隆ESP-IDF主仓库传统方法是从GitHub克隆现在我们改用Gitee镜像mkdir -p ~/esp # 创建工作目录 cd ~/esp git clone https://gitee.com/EspressifSystems/esp-idf.git这里有个小技巧如果克隆中途失败可以进入esp-idf目录执行git fetch --unshallow继续下载比重新克隆快得多。3.2 获取加速工具包乐鑫提供的esp-gitee-tools是整套方案的核心cd ~/esp git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git这个仓库里有几个关键脚本submodule-update.sh用于加速下载子模块install.sh一键安装工具链export.sh设置环境变量建议把工具路径加入环境变量后续使用更方便echo export EGTS_PATH~/esp/esp-gitee-tools ~/.bashrc source ~/.bashrc3.3 一键完成依赖安装进入esp-idf目录执行cd ~/esp/esp-idf . $EGTS_PATH/submodule-update.sh这个脚本会自动将GitHub子模块地址替换为Gitee镜像并行下载所有子模块自动重试失败的下载任务我测试过原本需要2小时下载的子模块用这个脚本15分钟就能完成。如果遇到某个模块下载卡住可以CtrlC中断后重新运行脚本它会自动跳过已完成的模块。4. 工具链安装的两种姿势4.1 推荐方案使用Gitee镜像安装执行以下命令开始安装. $EGTS_PATH/install.sh这个脚本的特点是自动识别系统架构x86_64/arm64从国内服务器下载预编译工具链支持断点续传安装完成后自动设置环境变量实测在100M宽带环境下完整安装约需8分钟。相比之下从GitHub直接下载通常需要40分钟以上。4.2 备选方案官方CDN直连如果镜像服务器不稳定可以改用乐鑫官方CDNexport IDF_GITHUB_ASSETSdl.espressif.com/github_assets ./install.sh这个方式下载速度也不错但要注意需要确保能访问dl.espressif.com下载进度显示可能不准确不会自动设置环境变量5. 环境验证与常见问题排查5.1 基础功能测试安装完成后运行以下命令验证. ./export.sh # 加载环境变量 idf.py --version # 检查工具链版本 python -m pip list # 检查Python依赖正常应该看到类似输出ESP-IDF v4.4.3 Toolchain version: riscv32-esp-elf-gcc (crosstool-NG esp-2021r2) 8.4.05.2 我踩过的那些坑问题1执行idf.py时提示python: command not found解决方案sudo ln -s /usr/bin/python3 /usr/bin/python问题2编译时报错CMake Error at ...解决方案rm -rf build sdkconfig # 清除缓存 idf.py fullclean问题3下载工具链时证书错误解决方案sudo apt install ca-certificates --reinstall6. 进阶技巧让开发更高效6.1 自定义镜像源如果公司有内部镜像服务器可以修改submodule-update.shsed -i s/gitee.com/your-mirror.com/g $EGTS_PATH/submodule-update.sh6.2 离线安装包制作对于需要批量部署的场景可以打包已下载的组件tar czvf esp-idf-offline.tar.gz ~/esp/esp-idf ~/.espressif在其他机器上解压后只需设置环境变量即可使用export IDF_PATH~/esp/esp-idf export PATH$PATH:$HOME/.espressif/tools/xtensa-esp32-elf/esp-2021r2-8.4.0/xtensa-esp32-elf/bin6.3 版本切换指南如果需要切换ESP-IDF版本cd ~/esp/esp-idf git checkout v4.4.3 # 切换到指定版本 git submodule update --init --recursive ./install.sh建议在切换版本前备份当前环境cp -r ~/.espressif ~/.espressif_backup