FEATURED · 精选文章

WSL2离线安装ROS2 Humble完整指南

发布时间 / 2026/9/16 10:44:12
来源 / 创域科博编辑部
栏目 / 资讯中心
WSL2离线安装ROS2 Humble完整指南 1. 项目背景与需求解析在Windows环境下进行机器人开发时原生系统对ROS2的支持一直是个痛点。WSL2的出现彻底改变了这一局面——它允许我们在Windows系统中运行原生的Linux二进制文件而Ubuntu22.04 LTS作为长期支持版本与ROS2 Humble的完美适配更是开发者的首选组合。我最近在给团队配置开发环境时遇到了一个典型场景实验室的Windows开发机需要批量部署ROS2开发环境但部分机器无法连接外网。经过多次实践我总结出一套完整的离线安装方案相比官方文档的在线安装方式这套方案具有以下优势完全离线操作适合内网环境安装包可一次下载多次复用避免网络波动导致的安装失败便于团队统一环境配置2. 准备工作与离线资源获取2.1 WSL2环境配置首先确保Windows系统版本为1903及以上并启用WSL功能# 以管理员身份运行PowerShell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启后设置WSL2为默认版本wsl --set-default-version 2注意如果系统未安装WSL2内核需提前下载并安装适用于x64计算机的WSL2内核更新包约50MB这个步骤需要在有网络的机器上预先完成。2.2 Ubuntu22.04离线包获取在有网络的机器上获取离线安装包# 导出Ubuntu22.04镜像 wsl --export Ubuntu-22.04 ubuntu2204.tar这个tar文件约1.5GB包含了完整的系统镜像可以复制到离线机器上使用。同时建议下载以下依赖包备用libpython3-devpython3-pipbuild-essentialcmakegit3. 离线安装完整流程3.1 导入Ubuntu系统将准备好的ubuntu2204.tar复制到目标机器后# 导入并指定安装路径 wsl --import Ubuntu-22.04 C:\wsl\ubuntu2204 ubuntu2204.tar --version 2设置默认用户需提前在有网络环境时配置好# 在ubuntu2204.tar对应的系统中执行 echo [user] /etc/wsl.conf echo defaultyourusername /etc/wsl.conf3.2 ROS2 Humble离线安装在有网络环境时预先下载所有deb包# 创建缓存目录 mkdir -p ~/ros2_offline/amd64 cd ~/ros2_offline # 下载密钥和主仓库 wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O ros.key apt-key add ros.key echo deb [archamd64] http://packages.ros.org/ros2/ubuntu jammy main /etc/apt/sources.list.d/ros2.list # 下载所有依赖 apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances ros-humble-desktop | grep ^\w | sort -u)将整个ros2_offline目录打包复制到离线机器后# 安装所有deb包 sudo dpkg -i ~/ros2_offline/amd64/*.deb3.3 环境配置与验证配置环境变量echo source /opt/ros/humble/setup.bash ~/.bashrc source ~/.bashrc验证安装# 测试核心功能 ros2 run demo_nodes_cpp talker ros2 run demo_nodes_py listener4. 常见问题解决方案4.1 图形界面支持WSL2默认不支持GUI如需使用RViz等工具# Windows端安装VcXsrv或MobaXterm wsl --set-version Ubuntu-22.04 2在WSL中配置DISPLAYecho export DISPLAY$(cat /etc/resolv.conf | grep nameserver | awk {print $2}):0 ~/.bashrc4.2 网络代理配置如果内网需要代理访问# 在/etc/apt/apt.conf.d/目录下创建proxy.conf echo Acquire::http::Proxy http://your.proxy.address:port; | sudo tee /etc/apt/apt.conf.d/proxy.conf4.3 系统时间同步问题解决Windows和WSL2时间不同步sudo hwclock -s5. 性能优化技巧文件系统性能# 将项目文件存储在Windows文件系统 \\wsl$\Ubuntu-22.04\home\username\projects内存限制 在C:\Users\username\.wslconfig中添加[wsl2] memory8GB processors4跨平台剪贴板 安装Windows端剪贴板工具后sudo apt-get install wl-clipboard这套方案在我们团队20开发机上稳定运行超过6个月特别适合以下场景企业内网开发环境教学实验室统一配置需要快速重建开发环境的场景实际使用中我发现相比虚拟机方案WSL2的资源占用更低启动速度更快特别是与VSCode的Remote-WSL扩展配合使用时开发体验几乎与原生Linux无异。唯一需要注意的是当处理大量小文件如ROS2的msg/srv文件时建议将其放在Linux文件系统内以获得更好的IO性能。
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻