CodeReview/scripts/setup.sh

106 lines
3.1 KiB
Bash
Raw Normal View History

#!/bin/bash
# DeepAudit 项目设置脚本
# 用于快速设置开发环境
set -e
echo "🚀 DeepAudit 项目设置开始..."
# 检查 Node.js 版本
echo "📋 检查 Node.js 版本..."
if ! command -v node &> /dev/null; then
echo "❌ 未找到 Node.js请先安装 Node.js 18+"
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)"
# 检查包管理器
echo "📦 检查包管理器..."
if command -v pnpm &> /dev/null; then
PKG_MANAGER="pnpm"
echo "✅ 使用 pnpm"
elif command -v yarn &> /dev/null; then
PKG_MANAGER="yarn"
echo "✅ 使用 yarn"
elif command -v npm &> /dev/null; then
PKG_MANAGER="npm"
echo "✅ 使用 npm"
else
echo "❌ 未找到包管理器,请安装 npm、yarn 或 pnpm"
exit 1
fi
# 安装依赖
echo "📥 安装项目依赖..."
$PKG_MANAGER install
# 检查环境变量文件
echo "🔧 检查环境变量配置..."
if [ ! -f ".env" ]; then
if [ -f ".env.example" ]; then
cp .env.example .env
echo "✅ 已创建 .env 文件,请编辑配置必要的环境变量"
echo ""
echo "📝 必需配置的环境变量:"
echo " VITE_GEMINI_API_KEY - Google Gemini API 密钥"
echo ""
echo "📝 可选配置的环境变量:"
echo " VITE_SUPABASE_URL - Supabase 项目 URL"
echo " VITE_SUPABASE_ANON_KEY - Supabase 匿名密钥"
echo " VITE_GITHUB_TOKEN - GitHub 访问令牌"
echo ""
echo "⚠️ 请在启动项目前配置 VITE_GEMINI_API_KEY"
else
echo "❌ 未找到 .env.example 文件"
exit 1
fi
else
echo "✅ .env 文件已存在"
fi
# 检查 Gemini API Key
if [ -f ".env" ]; then
if grep -q "VITE_GEMINI_API_KEY=your_gemini_api_key_here" .env || ! grep -q "VITE_GEMINI_API_KEY=" .env; then
echo "⚠️ 请配置 Google Gemini API Key"
echo " 1. 访问 https://makersuite.google.com/app/apikey"
echo " 2. 创建 API Key"
echo " 3. 在 .env 文件中设置 VITE_GEMINI_API_KEY"
else
echo "✅ Gemini API Key 已配置"
fi
fi
# 构建检查
echo "🔨 检查构建配置..."
if $PKG_MANAGER run build --dry-run &> /dev/null; then
echo "✅ 构建配置正常"
else
echo "⚠️ 构建配置可能有问题,请检查"
fi
echo ""
echo "🎉 项目设置完成!"
echo ""
echo "📚 接下来的步骤:"
echo " 1. 编辑 .env 文件,配置必要的环境变量"
echo " 2. 运行 '$PKG_MANAGER dev' 启动开发服务器"
echo " 3. 在浏览器中访问 http://localhost:5173"
echo ""
echo "📖 更多信息请查看:"
echo " - README.md - 项目介绍和使用指南"
echo " - DEPLOYMENT.md - 部署指南"
echo " - FEATURES.md - 功能特性详解"
echo ""
echo "🆘 需要帮助?"
echo " - GitHub Issues: https://github.com/lintsinghua/DeepAudit/issues"
echo " - 邮箱: tsinghuaiiilove@gmail.com"
echo ""
echo "Happy coding! 🚀"