mirror of
https://github.com/GSManagerXZ/GameServerManager.git
synced 2025-10-04 05:41:54 +08:00
126 lines
3.2 KiB
Markdown
126 lines
3.2 KiB
Markdown
# 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 在同一终端显示输出
|