GameServerManager/scripts/arm/README.md
2025-09-25 11:57:35 +08:00

126 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ARM64 开发环境脚本
这些脚本用于在 x86_64 系统上通过 QEMU 模拟运行 ARM64 版本的 Node.js 和 npm。
## 文件说明
- `setup-and-run.sh` - 一键安装依赖和启动开发服务器的主脚本
- `npm-arm64.sh` - ARM64 npm 命令封装脚本
- `node-arm64.sh` - ARM64 node 命令封装脚本
## 环境要求
### 1. 安装 QEMU 用户模式模拟器
```bash
sudo apt-get update
sudo apt-get install qemu-user-static
```
### 2. 安装 ARM64 交叉编译库
```bash
sudo apt-get install libc6-dev-arm64-cross
```
### 3. 下载 ARM64 版本的 Node.js
确保 ARM64 版本的 Node.js v20.19.0 已安装到以下路径:
```
/home/xiaozhu/qemu/Node/node-v20.19.0-linux-arm64/
```
如果路径不同,请修改脚本中的 `NODE_BIN``NPM_CLI` 变量。
## 使用方法
### 快捷启动(推荐)
```bash
# 一键安装依赖并启动双终端开发环境
./start-arm64.sh
# 或者仅启动开发环境(假设依赖已安装)
./dev-arm64.sh
```
### 详细选项
```bash
# 仅安装依赖
./start-arm64.sh install
# 使用双终端启动(推荐,可看到实时输出)
./start-arm64.sh dev-dual
# 使用后台方式启动
./start-arm64.sh dev-simple
# 使用 concurrently 启动
./start-arm64.sh dev
# 显示帮助信息
./start-arm64.sh help
```
### 独立使用 ARM64 命令
```bash
# 使用 ARM64 npm
./scripts/arm/npm-arm64.sh install
./scripts/arm/npm-arm64.sh run dev
# 使用 ARM64 node
./scripts/arm/node-arm64.sh --version
./scripts/arm/node-arm64.sh script.js
```
## 服务器地址
启动成功后,可以通过以下地址访问:
- **客户端(前端)**: http://localhost:5173
- **服务端API**: http://localhost:3000
## 故障排除
### 1. qemu-aarch64-static 未找到
```bash
sudo apt-get install qemu-user-static
```
### 2. ARM64 Node.js 路径错误
检查并修改脚本中的路径配置:
- `NODE_BIN` - Node.js 二进制文件路径
- `NPM_CLI` - npm CLI 脚本路径
### 3. 权限问题
确保脚本有执行权限:
```bash
chmod +x scripts/arm/*.sh
```
### 4. 库文件未找到
安装 ARM64 交叉编译库:
```bash
sudo apt-get install libc6-dev-arm64-cross
```
## 注意事项
1. **性能**: 通过 QEMU 模拟运行会比原生运行慢一些,这是正常现象
2. **内存**: 确保系统有足够的内存来运行模拟环境
3. **路径**: 所有路径都使用绝对路径,确保在任何目录下都能正常运行
4. **依赖**: 首次运行会下载大量依赖包,请确保网络连接稳定
## 开发流程
1. 运行 `./start-arm64.sh``./dev-arm64.sh` 启动开发环境
2. 等待依赖安装完成(首次运行)和服务器启动
3. 系统会自动打开两个终端窗口:
- **服务端终端**: 显示后端服务器日志和输出
- **客户端终端**: 显示前端构建和热重载信息
4. 在浏览器中访问 http://localhost:5173 查看前端
5. API 服务运行在 http://localhost:3000
6. 修改代码后会自动热重载
7. 在对应的终端窗口中按 Ctrl+C 停止服务器
### 启动模式说明
- **双终端模式** (`dev-dual`): 推荐用于开发,可以看到前后端的实时输出
- **后台模式** (`dev-simple`): 后台运行,日志输出到文件
- **并发模式** (`dev`): 使用 concurrently 在同一终端显示输出