ARM 架构 Ubuntu(RK3588/aarch64)go开发环境安装手册

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 全栈开发环境搭建。


前置说明

  1. 架构确认,在板子终端执行:
bash 复制代码
uname -m

输出 aarch64 代表 ARM64,本文档全部命令适配该架构。

  1. 推荐操作用户:普通非 root 用户,部分命令需要 sudo 提权。

  2. 系统:Ubuntu 22.04。

  3. 所有环境变量写入 ~/.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
  1. 允许外部 IP 访问
    注释默认 bind,允许所有地址访问

    bind 127.0.0.1 ::1

    bind 0.0.0.0

  2. 设置密码(安全必选)
    找到 # requirepass foobared,取消注释,修改密码

    requirepass Redis@2026

  3. 开发板内存限制(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 确认架构。。

  1. command not found

环境变量没生效,执行 source ~/.bashrc,或者新开终端。。

  1. 外网无法访问 Redis

检查 3 点:① bind 配置;② ufw 防火墙放行 6379;③ 开发板网络是否互通。。

  1. go mod 拉取代码超时

确认 GOPROXY 已经设置 goproxy.cn。。

  1. nvm 安装失败,raw.githubusercontent 无法访问

使用 gitee 镜像脚本安装 nvm。。

  1. 开发板内存低,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


结尾备> 本文档适用于 ARM64 (aarch64) Ubuntu 22.04 开发板,RK3688、RK3588 等瑞芯微板子通用。用> 适合物联网后端、Go + Redis + Node 全栈开发环境搭建。建。

相关推荐
Psycho_MrZhang14 小时前
多 Agent 研究系统的架构与实践
人工智能·架构
时空节拍AI数字人14 小时前
数字文旅补贴来了,景区申报要注意什么?
大数据·人工智能·百度·3d·ai·架构·aigc
Dawson Zhu15 小时前
《Agentic Design Patterns》第 8 章导读:记忆管理(Memory Management)
人工智能·语言模型·架构·aigc·agi
code_slave(码畜)15 小时前
微服务架构落地:消息队列架构设计(下篇)——消息堆积、死信治理与集群监控告警实战
spring boot·spring cloud·微服务·云原生·中间件·架构
茶底世界之下15 小时前
预乘 Alpha 图层合成为什么会越叠越暗?
架构·swift
蜡台15 小时前
AI Agent 架构终极教程:从原理分层、四大范式到生产级落地实战
网络·人工智能·架构
是jin奥17 小时前
Ubuntu 访问 Windows 共享目录
linux·运维·ubuntu
用户83145509803117 小时前
如一 Agent 架构解读(二):上下文工程——为模型构造它唯一的现实
人工智能·架构
怕浪猫18 小时前
Agent 工程化面试:从开发到部署的 5 个关键问题
面试·架构·github
行者全栈架构师18 小时前
【鸿蒙心迹】鸿蒙网络请求架构实战——@ohos.net.http 到 Axios 封装、拦截器与统一错误处理(HarmonyOS 7.x)
前端·算法·架构