56 lines
1.2 KiB
Bash
56 lines
1.2 KiB
Bash
#!/bin/bash
|
|
# RetroUI 本地部署脚本
|
|
|
|
echo "=== RetroUI 本地部署 ==="
|
|
echo ""
|
|
|
|
# 检查 Node.js
|
|
if ! command -v node &> /dev/null; then
|
|
echo "❌ 需要 Node.js 18+,请安装: https://nodejs.org/"
|
|
exit 1
|
|
fi
|
|
|
|
NODE_VERSION=$(node -v | cut -d'v' -f2 | cut -d'.' -f1)
|
|
if [ "$NODE_VERSION" -lt 18 ]; then
|
|
echo "❌ Node.js 版本过低,需要 18+,当前: $(node -v)"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✓ Node.js 版本: $(node -v)"
|
|
|
|
# 检查 pnpm
|
|
if ! command -v pnpm &> /dev/null; then
|
|
echo "📦 安装 pnpm..."
|
|
npm install -g pnpm
|
|
fi
|
|
echo "✓ pnpm 版本: $(pnpm -v)"
|
|
|
|
# 克隆仓库
|
|
PROJECT_DIR="$HOME/nanocode/RetroUI"
|
|
if [ ! -d "$PROJECT_DIR" ]; then
|
|
echo "📥 克隆 RetroUI 仓库..."
|
|
git clone --depth 1 https://github.com/Logging-Studio/RetroUI.git "$PROJECT_DIR"
|
|
fi
|
|
|
|
cd "$PROJECT_DIR"
|
|
echo "✓ 进入目录: $PROJECT_DIR"
|
|
|
|
# 安装依赖
|
|
if [ ! -d "node_modules" ]; then
|
|
echo "📦 安装依赖(约需 1-2 分钟)..."
|
|
pnpm install
|
|
fi
|
|
echo "✓ 依赖已安装"
|
|
|
|
# 构建项目
|
|
echo "🔨 构建项目(约需 1-2 分钟)..."
|
|
pnpm build
|
|
|
|
# 启动服务
|
|
echo ""
|
|
echo "🚀 启动 Next.js 服务器..."
|
|
echo "访问地址: http://localhost:3000"
|
|
echo "按 Ctrl+C 停止服务"
|
|
echo ""
|
|
pnpm start
|