树莓派5终极开发方案:VSCode Server避坑实战指南

B站影视 韩国电影 2025-03-26 02:39 2

摘要:你是否想过将信用卡大小的树莓派5打造成随身携带的云端开发神器?开发者 Radu Zaharia 历经反复试验,终于突破性实现VS Code Server在树莓派5的完美部署!本文深度解析从硬件配置到云端调试的全流程,揭秘SSH隧道穿透、GPU加速等关键技术细节

导语:

你是否想过将信用卡大小的树莓派5打造成随身携带的云端开发神器?开发者 Radu Zaharia 历经反复试验,终于突破性实现VS Code Server在树莓派5的完美部署!本文深度解析从硬件配置到云端调试的全流程,揭秘SSH隧道穿透、GPU加速等关键技术细节,更附赠独家性能调优参数。无论你是想解锁超便携开发环境,还是探索边缘计算新姿势,这篇手把手教学都能让你摆脱开发环境束缚,用15美元设备实现媲美高端主机的编码体验!

上一次我们讨论这个话题时,Raspberry Pi 5尚未发布,VSCode Server版本停留在4.0.2。当时的体验并不理想,完全无法胜任严肃的开发工作——VSCode运行缓慢,编译时间更是令人抓狂(尤其是对Rust等语言而言)。因此,我们暂停了实验,等待更强大的硬件。幸运的是,如今期待的硬件终于到来:Raspberry Pi 5。

Raspberry Pi 5的基准测试速度比Raspberry Pi 4快达三倍,配备更多内存、更高的I/O带宽和更强的GPU,使其成为个人编码与构建工作站的强劲候选。现在的问题是:我们能否用它搭建家庭版VSCode Server?让我们一探究竟!

安装与配置VSCode Server

VSCode Server本身也在持续改进,当前版本已升级至4.20.0,基于VSCode 1.85.1构建,较之前测试版有了显著改进。我们仍通过curl从官网下载,但这次选择Ubuntu适用的Debian包(Fedora内核暂不支持Raspberry Pi 5):

#curl -fOL
#sudo apt install ./code-server_4.20.0_arm64.deb

安装过程如下:

Ubuntu Server 23.10正在安装 VSCode Server 4.20.0

安装完成后,通过经典命令启用服务:

#sudo systemctl start code-server@ubuntu
#sudo systemctl enable code-server@ubuntu

@ubuntu指定运行服务的用户(此处为ubuntu,可根据实际修改为Raspberry Pi用户名)。服务默认运行在8080端口,可通过编辑~/config/code-server/config.yaml修改配置。例如我修改了端口并关闭了密码登录:

简易code-server配置

如上图所示,将绑定地址端口改为10000以允许网络内任意客户端连接,认证方式从默认的password改为none。如需设置密码:

bind-addr: 0.0.0.0:10000
auth: password
password: password-hash
cert: false

密码哈希值可通过mkpasswd生成。它会要求我们输入密码,并返回一个哈希值,以便复制到上面的密码字段中。完成配置后,打开浏览器体验吧!

运行浏览器中的VSCode

在客户端上运行Raspberry PI 5的VSCode

如截图所示,只需在浏览器输入Raspberry Pi IP和指定端口(本例为10000)即可访问。尽管Raspberry Pi已运行多个网络服务(包括LDAP服务器),但VSCode加载速度仍明显快于4代。接下来在终端安装Rust:

通过VSCode浏览器终端安装Rust

截图中的命令为Rust标准安装命令:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh,将在Raspberry Pi 5的VSCode Server上配置Rust环境:

直接在Raspberry PI 5上的VSCode Server安装Rust

Raspberry Pi 5的Wi-Fi速度提升显著,下载Rust的体验接近本地机器,尽管是通过VSCode Server中转。不过安装速度仍低于预期因为与最新Intel i7台式机相比确实存在差距,但较4代已有明显进步:4代需约10分钟,5代仅需4分钟。

接下来创建包含依赖的Rust项目如小型Web服务器并进行构建。新建名为projects的文件夹,通过VSCode浏览器端打开,运行cargo new web-test --bin:

创建名为web-test的新Rust项目

打开项目文件夹:

打开新rust项目

让我们编译一下我们的项目,看看效果如何。为此,我们将首先安装rust-analyzer扩展,VSCode为我们提供了全面的rust语言支持:

浏览器内安装rust-analyzer VSCode扩展

同时安装LLDB调试器以支持Rust程序调试:

为rust安装CodeLLDB调试器

不得不说,安装VSCode扩展感觉比在Raspberry PI 4上快多了。它们就像在本地桌面上一样安装。整个体验感觉就像在本地运行VSCode。再次按F5将会出现下一个问题:没有找到链接器cc,所以让我们使用sudo来安装build-essentials包,以便安装build-essentials:

准备好调试rust程序

同样,下载速度是极快的,安装速度稍慢,但Raspberry Pi 5仍然设法在一分钟内安装所有这些。但是这次按F5真的是编译调试项目。最后。让我们拥有我们的rust服务器!

创建小型Rust Web服务器

Raspberry Pi 5上运行简易Web服务器

到目前为止,当前的资源占用,CPU波动在1%到3%内存使用1.2 GB。对于树莓PI 5来说,它感觉微不足道,因为它有8 GB的可用内存。但在Raspberry PI 4上,运行稍显吃力

准备静态文件服务Web服务器

rust中的web服务器项目初具规模

在rust-analyzer下载编译actix依赖并索引源码时,可观察到四核心ARM CPU的负载,但Raspberry Pi 5应对自如。开发体验流畅,代码补全响应及时:

运行Ubuntu Server 23.10的Raspberry Pi 5监控概览

我们同时要准备基础HTML文件:

基础HTML文档

现在构建并运行Web服务器。运行cargo build,actix的依赖数量庞大,但Raspberry Pi 5处理起来游刃有余:

三分钟后项目构建完成

虽然三分钟看似漫长,但相比4代Rust项目动辄10分钟的构建时间,这已是巨大进步。我的AMD Ryzen 5 3000笔记本完成相同任务需约1.5分钟(同时运行更多程序),但考虑到Raspberry Pi 5的资源限制,这个表现已相当出色。

这次体验令人印象深刻。Raspberry Pi 4作为家庭网络编码服务器完全不可用,而Raspberry Pi 5的表现让我非常满意。即使以资源消耗著称的Rust构建过程,在Raspberry Pi 5上也如本地开发般流畅。这是最高的赞誉——不再像4代那样因服务器限制而中断工作。本次实验圆满成功,我将继续运行VSCode Server进行更多探索。

这为使用平板等设备编码开辟了新可能,也让家庭网络中的其他设备有了用武之地。感谢跟随我完成这段精彩旅程,我们下次再见!

官方网站:https://edatec.cn/zh

来源:上海晶珩

相关推荐