【保姆级教程】Windows 下 VMware+Ubuntu 搭建 ESP32-IDF 环境(TARE 远程开发 + MobaXterm 远程终端)

发布时间:2026/7/26 9:52:09
【保姆级教程】Windows 下 VMware+Ubuntu 搭建 ESP32-IDF 环境(TARE 远程开发 + MobaXterm 远程终端) 目录前言一、开发工具清单及核心作用介绍二、工具下载三、VMware 安装 Ubuntu 22.04 Server 虚拟机3.1 安装网络工具获取虚拟机 IP四、Ubuntu 基础编译环境配置MobaXterm 远程操作4.1 MobaXterm SSH 远程连接虚拟机4.2 批量安装 ESP-IDF 全套依赖工具4.3 配置国内 Gitee 镜像解决源码下载超时4.4 切换 ESP-IDF 至稳定 v5.2 版本4.5 一键安装 ESP32 全系工具链4.6 拉取官方例程仓库编译测试环境五、TRAE 编辑器远程 SSH 开发配置本地可视化写 Linux 代码5.1 安装远程开发插件5.2 写入 SSH 连接配置5.3 远程连接虚拟机并打开工程5.4 安装 ESP32 开发配套插件虚拟机远程环境内安装5.5 配置 ESP-IDF 工程代码跳转Ctrl 左键跳转函数六、补充优化 常见问题永久解决方案6.1 永久配置 ESP-IDF 环境变量重启不失效6.2 给trae安装clangd插件支持代码跳转6.3 解决 USB 串口权限拒绝 Permission denied七、总结前言做 ESP32 开发的小伙伴大概率踩过 Windows 原生环境的坑编译报错、Python 依赖冲突、路径中文 / 空格异常、工具链下载超时、串口权限问题层出不穷。乐鑫官方首选Linux 作为 ESP-IDF 稳定编译环境因此本文搭建一套「Windows 本地写代码 Ubuntu 虚拟机编译烧录」的成熟开发方案VMware 运行Ubuntu 22.04 LTS 虚拟机提供纯净无冲突的编译环境MobaXtermSSH 远程连接虚拟机批量执行环境配置命令TRAE 编辑器通过 Remote-SSH 远程直连虚拟机本地可视化编辑 Linux 工程搭配乐鑫国内Gitee 镜像工具解决 GitHub 下载慢、拉取失败问题。整套流程全程配套操作截图命令可直接复制零基础也能一次配置成功后续开发丝滑无报错。一、开发工具清单及核心作用介绍工具名称安装位置核心作用VMware WorkstationWindows 本地虚拟机软件用于安装运行 Ubuntu Linux 系统提供独立稳定的编译环境Ubuntu 22.04 LTSVMware 虚拟机内ESP32-IDF 官方推荐的 Linux 编译系统编译速度快、依赖兼容好、极少报错MobaXtermWindows 本地强大的远程终端工具通过 SSH 协议远程连接 Ubuntu 虚拟机执行命令行操作、文件传输GitUbuntu 虚拟机内版本控制工具用于克隆拉取 ESP-IDF 官方源码仓库同步最新版本代码TRAEWindows 本地主力代码编辑器通过 Remote-SSH 插件远程连接 Ubuntu实现本地编辑虚拟机内代码二、工具下载1. VMware Workstation个人免费版稳定兼容 Ubuntu 22.04无兼容性 bug官网VMware官方网站配套安装包图文教程找不到 VMware 官方安装包这里直接给附 17.6 稳定版安装教程推荐版本VMware Workstation 17.6稳定兼容2. Ubuntu 22.04 LTS 镜像官方原版服务器版无图形界面内存占用更小、编译性能更强下载教程【虚拟机专用】Ubuntu 22.04 LTS 服务器版本镜像下载3. MobaXtern远程终端全能 SSH 工具自带文件传输、语法高亮、串口工具完整安装配置教程MobaXterm下载安装完整教程4. Git工具用于克隆乐鑫源码仓库、版本分支管理安装 常用命令合集Ubuntu虚拟机(服务器版本)Git安装教程附常用命令——从零开始掌握版本控制5. TRAE编辑器主力编辑工具AI辅助通过SSH远程链接Linux进行开发官网直下trae官网三、VMware 安装 Ubuntu 22.04 Server 虚拟机安装Ubuntu虚拟机我也在下面这篇文章里面写好了参考下面这篇文章【保姆级图文教程】VMware虚拟机安装Ubuntu Server 22.043.1 安装网络工具获取虚拟机 IP重要提醒保存好虚拟机 IP、用户名、登录密码后续 MobaXterm、TRAE 远程连接全部需要。按着【保姆级图文教程】VMware虚拟机安装Ubuntu Server 22.04这个教程走到这一步成功打开Ubuntu虚拟机。接下来我们要安装一个网络工具查看这个虚拟机的IP输入以下指令并且输入创建虚拟机时你设定的密码输入密码的时候是看不到的输完直接回车即可sudoapt-getinstallnet-tools输入以下指令去查看虚拟机的IP地址,如下图IP是192.168.232.133ifconfig四、Ubuntu 基础编译环境配置MobaXterm 远程操作4.1 MobaXterm SSH 远程连接虚拟机我们回到Windows打开MoboXterm,点击Session然后点击SSH在Remote host这一栏写上我们刚刚查看的虚拟机IP我的是192.168.232.133大家的不一定一样然后Specify username左边的框框打上勾然后在右边的框框写上我们创建虚拟机时的用户名然后点击OK。然后我们写上我们创建虚拟机时的密码如果在此之前还有一个白色的弹窗点击Accept接受即可。填完密码之后会出来一个黑色的弹窗这是问你是否保存密码我一般点No因为Yes还需要登录。现在我们就成功的远程登录到虚拟机的终端了4.2 批量安装 ESP-IDF 全套依赖工具使用以下指令进行工具的安装一次性批量安装编译、固件烧录、工具链、Python 虚拟环境所需全部工具库具体是什么含义可以复制丢给AI解释sudoapt-getinstallgitwgetflex bison gperf python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 net-tools我这里发生了报错libpython3.10-dev、python3.10-dev、python3.10-venv版本号 3.10.12-1~22.04.15 在源里已经被删除 / 替换服务器找不到这个旧版本安装包输入以下指令进行更新软件源sudoapt-getupdate使用以下指令清理损坏 / 缺失缓存sudoapt-getcleansudoapt-getautoremove重新再来执行一次工具下载指令sudoapt-getinstallgitwgetflex bison gperf python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 net-tools出现了这个弹窗系统下载并安装了更新的 Linux 内核包但内核切换必须重启系统才能生效我们摁回车直接摁TAB键选ok重启一下系统使用以下指令新建一个目录,并且进入这个目录mkdiresp32cdesp324.3 配置国内 Gitee 镜像解决源码下载超时国外 GitHub 拉取 ESP-IDF 极易超时、断连使用乐鑫官方 esp-gitee-tools 一键切换国内镜像使用以下指令拉取gitee工具这是乐鑫官方配套国内 Gitee 镜像的辅助工具包专门解决国内下载 ESP-IDF、工具链慢 / 超时的问题gitclone https://gitee.com/EspressifSystems/esp-gitee-tools.git使用以下指令进入gitee工具并执行jihu-mirror.sh这个脚本这个脚本会将github的地址自动替换成jihu的镜像地址因为github有些同学可能访问不上cdesp-gitee-tools/ ./jihu-mirror.shset然后我们回到上一级目录用以下指令去拉取ESP-IDFcd..gitclone--recursivehttps://github.com/espressif/esp-idf.git拉取完成4.4 切换 ESP-IDF 至稳定 v5.2 版本使用以下指令将esp-idf的版本切换到v5.2v5.2算是比较新且稳定的版本确认了版本进行开发后后续不要轻易改版本因为版本之间不一定兼容cdesp-idf/ esp-idf$gitcheckout v5.2再使用以下指令把相应的子模块也切换到相应的版本上gitsubmodule update--init--recursive4.5 一键安装 ESP32 全系工具链进到esp-idf目录下使用以下指令安装一些编译工具这个命令会把大部分ESP32型号的编译工具都会下载下来免得换了板子又得重新配置cdesp-idf/../esp-gitee-tools/install.sh4.6 拉取官方例程仓库编译测试环境使用以下指令回到esp32目录下并且拉取官方例程cd..gitclone--recursivehttps://gitee.com/vi-iot/esp32-board.git使用以下指令进到例程目录可以看到如下例程cdesp32-board/ls进到esp-idf目录使用以下指令设置ESP-IDF的环境变量回到例程目录使用以下指令进到helloworld例程cdhelloworld/使用以下指令进行编译idf.py build编译成功说明环境基本上都配置好了由于我手上没有板子我就不下载程序演示了终端输出build success即代表 ESP-IDF 编译环境搭建完成有硬件开发板可执行 idf.py flash monitor 一键烧录 串口日志查看。五、TRAE 编辑器远程 SSH 开发配置本地可视化写 Linux 代码5.1 安装远程开发插件打开TRAE在扩展插件里面安装好这些插件用于远程连接虚拟机正常来说只要安装了Remote - Tunnels这个其它两个应该就会有了5.2 写入 SSH 连接配置安装好之后左边的列表栏会出现一个小电视我们点击这个小电视然后点击这个小齿轮进行一些配置在配置文件里按照以下格式新增代码Host 跟HostName 都填你的虚拟机IP地址User 就填你创建虚拟机的时候的用户名Host192.168.232.133 HostName192.168.232.133 User panda增加完后保存然后刷新一下就会出现一个你的虚拟机的IP地址的连接目标5.3 远程连接虚拟机并打开工程点击这个小箭头进行远程连接输入你创建虚拟机的时候设置的密码可以看到我们连上了下面的终端弹出字符了然后我们点击打开文件夹就可以看到工程目录我们进到示例工程路径它会提示我们再次输入密码我们再次输入即可最后我们终于成功打开了文件以后我们就可以在这里进行编辑代码5.4 安装 ESP32 开发配套插件虚拟机远程环境内安装现在我们需要安装一些插件更便于我们的开发点左边这个四口方块然后在搜索栏中搜索C/C我们点击在虚拟机中安装。继续搜索ESP-IDF这个插件进行安装5.5 配置 ESP-IDF 工程代码跳转Ctrl 左键跳转函数我们回到工程界面然后摁ShiftCtrlP然后在搜索框输入ESP-IDF然后我们点击Add VS Code Configuration Folder这一步是为了把ESP-IDF里面的源码路径加到我们的工程中这样我们程序中的函数就可以搜索到了摁Ctrl鼠标左键可以跳转至函数内部六、补充优化 常见问题永久解决方案6.1 永久配置 ESP-IDF 环境变量重启不失效我们对虚拟机重启后重新进入helloword工程目录使用以下指令尝试进行对工程进行编译发现出现报错提示command not found提示说明系统找不到这个命令。我们在上面重启之前其实有设置过环境变量了但是现在为啥还是找不到命令因为我们前面设置的那个环境变量是个临时的虚拟机一旦重启就失效了。idf.py build使用以下指令回到默认终端cd~使用以下指令列出默认终端下的所有文件ls-al我们可以看到有一个.profile的隐藏文件这是文件是终端启动后会默认执行里面的语句所以我们将设置环境变量的命令加入到这个文件里面去这样我们每次启动虚拟机它就会自动设置环境变量就不需要我们再麻烦了。输入以下指令对profile文件进行编辑vim.profile在最后一行插入以下命令按i即可插入写完之后摁ESC退出编辑模式再输入“:wq回车”保存并退出sourceesp32/esp-idf/export.sh现在我们输入exit指令退出虚拟机再摁R重新登入exit可以看到脚本就自动执行了我们进到helloworld目录下尝试编辑进行编译idf.py build编译成功6.2 给trae安装clangd插件支持代码跳转我们现在回到TRAE,安装这个clangd插件用于代码的查阅跳转。当然一般用的的C/C但是我发现在TRAE这里C/C这个插件不支持应该是微软不支持VScode以外的软件使用他们的插件吧。大家可以试试。反正如果C/C用不了的话就安装这个clangd插件用于代码跳转6.3 解决 USB 串口权限拒绝 Permission denied我们回到我们的虚拟机输入以下指令其中的”panda“ 换成你的用户名。这条指令的作用是把用户 panda 追加加入 dialout 用户组让你不用 root/sudo就能正常访问 ESP32 的串口设备 /dev/ttyUSB0解决 idf.py flash 下载时报 串口权限拒绝 Permission deniedsudousermod-aGdialout panda打开虚拟机的设置点开USB控制器将USB兼容性这一栏改成USB3.1向下兼容 USB3.x/ USB2.0 / USB1.1 所有设备七、总结整套 WindowsUbuntu 虚拟机 ESP-IDF 开发方案规避了原生 Windows 环境的大量兼容性 BUG兼顾 Windows 本地流畅编码与 Linux 稳定编译两大优势无图形 Server 版虚拟机资源占用低老旧电脑也能流畅运行Gitee 镜像彻底解决国内下载慢、克隆失败痛点TRAE 远程 SSH 开发实现可视化编码代码跳转、补全体验媲美本地工程配置永久环境变量、串口用户组权限一次部署长期使用无需重复配置支持 ESP32 全系列芯片编译、烧录、串口日志监控适配绝大多数乐鑫物联网开发场景。后续开发仅需两步启动环境VMware 启动 Ubuntu 虚拟机MobaXterm/TRAE SSH 远程连接进入工程目录直接执行idf.py build/flash/monitor完成开发调试。