发布于 2026-01-06 1 阅读
0

我是如何将开发环境迁移到树莓派的

我是如何将开发环境迁移到树莓派的

我利用空闲时间开发了一款名为Solaris 的开源策略游戏欢迎大家来看看

软件开发的一个问题是,你需要在每台编写代码的设备上设置开发环境,而且开发环境和生产环境之间可能存在差异,这往往会导致无法预料的问题。

理想的解决方案是能够在任何设备上进行开发,无需经历冗长的设置过程,只需在我的开发机器上安装 VS Code(稍后您会看到,即使是这一步也是可选的),并将所有代码和应用程​​序托管在远程服务器上。在本例中,远程服务器是 Raspberry Pi。

树莓派简介

树莓是一款非常棒的小设备,能够完成很多不同的任务,像大多数喜欢捣鼓电子产品的人一样,我也有几个树莓派闲置着。

Solaris运行在 Ubuntu Server 上,Pi 是模拟生产环境的完美选择,因为它可以在几乎相同的环境中运行相同的软件。

计划

本次练习的最终目标是搭建一个尽可能接近生产环境的开发环境:

  • 安装运行 Solaris 系统所需的所有软件。
  • 以开发模式运行客户端和服务端应用程序。
  • 使用Visual Studio Code编辑ssh文件和调试应用程序。

树莓派安装和设置

在树莓派上运行 Ubuntu 的设置非常简单。使用Pi imager 软件,我只需选择Ubuntu Server ,然后通过高级选项设置主机名、WiFi 和 SSH 即可。安装完成后甚至无需连接键盘和显示器,只需插入 SD 卡,启动树莓派,然后从另一台机器通过 SSH 连接即可完成剩余的设置过程。

设置 Node 和 MongoDB

Solaris 需要Node.jsMongoDB才能运行,由于它们的支持和文档都非常完善,所以运行起来很简单。

下一步是访问代码仓库,并按照README 文件git clone中的步骤进行操作

  • git clone https://github.com/mike-eason/solaris.git

设置应用和服务

服务器上的 Node 应用将由PM2管理。安装完成后,pm2设置非常简单:

  • API -pm2 start ~/solaris/server/api/index.js --name solaris-api --watch
  • 服务器作业 -pm2 start ~/solaris/server/jobs/index.js --name solaris-jobs --watch
  • Vue.js 客户端 -pm2 start ~/solaris/client/node_modules/@vue/cli-service/bin/vue-cli-service.js --name solaris-client --node-args="serve"

pm2 状态

以上就是神奇之处。pm2它将管理这三个进程,自动监控变化并在必要时重启应用程序。现在可以通过本地 IP 地址访问该应用程序了192.168.1.xxx:8080,太棒了!

树莓派上运行着 Solaris 系统。

设置 Visual Studio Code

现在应用程序已经运行并监视更改,我需要一种方法来实际编辑文件。我选择使用 VS Code,因为它有一个很棒的扩展程序可以通过.ssh

调试

调试的唯一缺点是,停止进程然后启动 VS Code 调试会话会稍微有些不方便。pm2

解决此问题的最佳方法是在--inspect启动pm2进程时启用该标志:

pm2 start solaris-jobs --node-args="--inspect=9230" --watch
Enter fullscreen mode Exit fullscreen mode

然后使用 VS Code 配置附加到该进程。

{
    "type": "node",
    "request": "attach",
    "name": "Attach to Jobs",
    "port": 9230
}
Enter fullscreen mode Exit fullscreen mode

有关该--inspect旗帜的更多信息,请点击此处

最后想说的话

完成所有这些设置后,我现在只需在开发机上打开 VS Code 即可直接开始编码,无需事先考虑任何配置问题。由于环境是远程的,因此所有更改都会永久保存。我可以在台式机上编写代码,然后切换到笔记本电脑继续之前的工作。

我还可以更进一步,使用像code-server这样的工具,它可以直接在树莓派上运行 VS Code。这样我只需要一台带浏览器的设备就可以开始编程了。最终,我甚至可以在我的三星智能冰箱上写代码!

请在评论区告诉我你的想法或建议。感谢阅读。

文章来源:https://dev.to/mikeeason/how-i-migerated-my-development-environment-to-a-raspberry-pi-1olg