ARM 架构 Ubuntu(RK3588/aarch64)go开发环境安装手册
适用平台:RK3588 开发板,Ubuntu 22.04 aarch64(arm64)
包含:nvm + Node.js、pnpm、Go 语言、Redis 完整离线/在线安装、环境配置、验证、常见坑。
博客风格,可直接复制到markdown博客。
摘要:本文面向 RK3688(aarch64/ARM64)开发板,系统为 Ubuntu 22.04,完整讲解开发环境的搭建流程。内容涵盖:通过 nvm 安装与管理多版本 Node.js、安装 pnpm 包管理器、以离线 tar 包方式安装 Go 语言(linux-arm64),以及通过 apt 快速安装并配置 Redis(含密码、内存限制、开机自启与防火墙放行)。文末附常见问题汇总与一键环境自检脚本,适合物联网后端及 Go + Redis + Node 全栈开发环境搭建。
前置说明
- 架构确认,在板子终端执行:
bash
uname -m
输出 aarch64 代表 ARM64,本文档全部命令适配该架构。
-
推荐操作用户:普通非 root 用户,部分命令需要
sudo提权。 -
系统:Ubuntu 22.04。
-
所有环境变量写入
~/.bashrc,新开终端或source生效。
一、安装 nvm(Node版本管理器,ARM原生支持)
nvm用来管理多版本Node.js,自动适配arm64,不要用apt直接装node,版本老旧。
1. 在线安装 nvm
bash
curl -o- [https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh](https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh) | bash
如果raw.githubusercontent访问超时,可以用国内镜像脚本:
bash
curl -o- [https://gitee.com/mirrors/nvm/raw/v0.40.1/install.sh](https://gitee.com/mirrors/nvm/raw/v0.40.1/install.sh) | bash
2. 加载环境变量
bash
source ~/.bashrc
3. 验证 nvm
bash
nvm --version
4. 安装 Node.js(LTS 长期支持版)
bash
# 查看可用版本
nvm list-remote
# 安装LTS版本
nvm install 22
# 设置默认node版本
nvm use 22
nvm alias default 22
5. 验证 Node & npm
bash
node -v
npm -v
离线安装提示:
先在能联网的 ARM 机器用
nvm install下载对应 arm64 Node 包,再把.nvm目录整个传到开发板。
二、安装 pnpm
pnpm 包管理器,比 npm 更快,arm64 架构支持良好。
方式1:官方一键脚本(推荐)
bash
curl -fsSL [https://get.pnpm.io/install.sh](https://get.pnpm.io/install.sh) | sh -
方式2:npm 安装(备选)
bash
npm install -g pnpm
加载环境变量并验证
bash
source ~/.bashrc
pnpm -v
国内加速(可选,pnpm下载包加速)
bash
pnpm config set registry [https://registry.npmmirror.com](https://registry.npmmirror.com)
三、安装 Go(Golang,离线 tar 包方式,本次 RK3688 使用 linux-arm64)
使用官网tar包安装,不使用apt的golang包(版本低)。
1. 准备tar包
下载包:go1.25.0.linux-arm64.tar.gz
⚠️ 必须是
linux-arm64,amd64(x86)包会报Exec format error
2. 清理旧版本
bash
sudo rm -rf /usr/local/go
sudo apt remove -y golang golang-go
3. 解压到 /usr/local
将 tar 包放到当前目录执行,替换为你实际文件路径
bash
sudo tar -C /usr/local -xzf go1.25.0.linux-arm64.tar.gz
4. 配置 Go 环境变量
bash
nano ~/.bashrc
文件末尾追加:
bash
# Golang Env
export GOROOT=/usr/local/go
export GOPATH=$HOME/gowork
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
# Go 国内代理
export GOPROXY=[https://goproxy.cn](https://goproxy.cn),direct
export GOSUMDB=off
Ctrl+O 保存,Ctrl+X 退出。
5. 生效并验证
bash
source ~/.bashrc
go version
go env
✅ 正常输出示例:go version go1.25.0 linux/arm64
测试 Hello 程序
bash
echo 'package main;import "fmt";func main(){fmt.Println("Go ARM install success!")}' > hello.go
go run hello.go
四、安装 Redis(apt快速安装,arm64原生包)
两种方案:apt快速安装(推荐) / 源码编译(自定义版本)
方案A:apt安装(推荐,RK3688直接用)
bash
sudo apt update
sudo apt install redis-server redis-tools -y
启停与开机自启
bash
# 查看状态
sudo systemctl status redis-server
# 开机自启(默认已启用)
sudo systemctl enable redis-server
# 启停
sudo systemctl start redis-server
sudo systemctl stop redis-server
sudo systemctl restart redis-server
修改核心配置 /etc/redis/redis.conf
bash
sudo nano /etc/redis/redis.conf
-
允许外部 IP 访问
注释默认 bind,允许所有地址访问bind 127.0.0.1 ::1
bind 0.0.0.0
-
设置密码(安全必选)
找到# requirepass foobared,取消注释,修改密码requirepass Redis@2026
-
开发板内存限制(RK 小内存板子建议配置)
maxmemory 256mb
maxmemory-policy allkeys-lru
保存后重启 Redis
bash
sudo systemctl restart redis-server
测试连接
bash
# 本地连接
redis-cli
AUTH Redis@2026
PING
返回 PONG 成功。
防火墙放行(如需PC远程访问)
bash
sudo ufw allow 6379/tcp
方案 B:源码编译(需要更高 Redis 版本)
bash
# 安装编译依赖
sudo apt install build-essential tcl -y
wget [https://download.redis.io/redis-stable.tar.gz](https://download.redis.io/redis-stable.tar.gz)
tar -zxvf redis-stable.tar.gz
cd redis-stable
make -j$(nproc)
sudo make install
源码安装需要手动创建 systemd 服务和配置文件。
Go 简单连接 Redis 测试代码
go
package main
import (
"context"
"fmt"
"github.com/redis/go-redis/v9"
)
func main() {
rdb := redis.NewClient(&redis.Options{
Addr: "127.0.0.1:6379",
Password: "Redis@2026",
DB: 0,
})
ctx := context.Background()
res, err := rdb.Ping(ctx).Result()
fmt.Println("Redis ping result:", res, "err:", err)
}
go mod 初始化:
go mod init redis-demo,go get github.com/redis/go-redis/v9
📌 通用常见问题汇总1. Exec format error
下载的程序架构不对!ARM64 必须选
arm64/aarch64包,不能用 amd64 (x86)。uname -m确认架构。。
- command not found
环境变量没生效,执行
source ~/.bashrc,或者新开终端。。
- 外网无法访问 Redis
检查 3 点:① bind 配置;② ufw 防火墙放行 6379;③ 开发板网络是否互通。。
- go mod 拉取代码超时
确认 GOPROXY 已经设置 goproxy.cn。。
- nvm 安装失败,raw.githubusercontent 无法访问
使用 gitee 镜像脚本安装 nvm。。
- 开发板内存低,Redis被OOM杀死
在redis.conf设置
maxmemory,限制redis占用内存。
📋 环境快速自检脚可以复制保存为 env-check.sh,执行一键检查所有环境。环境
bash
#!/bin/bash
echo "===== Arch Check ====="
uname -m
echo "===== nvm & node ====="
nvm --version
node -v
pnpm -v
echo "===== Go ====="
go version
echo "===== Redis ====="
redis-cli --version
sudo systemctl status redis-server
赋予权限:chmod +x env-check.sh,运行:./env-check.sh