+79
@@ -0,0 +1,79 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# ==========================================
|
||||||
|
# To_Docx Debian 启动脚本 (run_dev.sh)
|
||||||
|
# 用于在 Debian 13 环境下一键启动前后端
|
||||||
|
# ==========================================
|
||||||
|
|
||||||
|
# 获取脚本所在的绝对路径
|
||||||
|
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
CONDA_ENV="to_docx"
|
||||||
|
|
||||||
|
echo "------------------------------------------"
|
||||||
|
echo "🚀 正在启动 To_Docx 开发环境..."
|
||||||
|
echo "项目根目录: $ROOT_DIR"
|
||||||
|
echo "------------------------------------------"
|
||||||
|
|
||||||
|
# 1. 基础环境检查
|
||||||
|
if ! command -v conda &> /dev/null; then
|
||||||
|
echo "❌ 错误: 未检测到 conda 命令,请先安装 Miniconda 或 Anaconda。"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! command -v node &> /dev/null; then
|
||||||
|
echo "❌ 错误: 未检测到 node 命令,请先安装 Node.js。"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 2. 检查并提示 Conda 环境
|
||||||
|
if ! conda info --envs | grep -q "$CONDA_ENV"; then
|
||||||
|
echo "⚠️ 警告: 未找到 Conda 环境 '$CONDA_ENV'。"
|
||||||
|
echo "提示: 请按照以下步骤搭建环境:"
|
||||||
|
echo " 1. conda create -n $CONDA_ENV python=3.10 -y"
|
||||||
|
echo " 2. conda activate $CONDA_ENV"
|
||||||
|
echo " 3. pip install fastapi uvicorn pypandoc python-docx pydantic \"python-jose[cryptography]\" \"passlib[bcrypt]\" bcrypt"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 3. 定义清理函数 (处理 Ctrl+C)
|
||||||
|
cleanup() {
|
||||||
|
echo ""
|
||||||
|
echo "🛑 正在停止所有服务..."
|
||||||
|
[ -n "$BACKEND_PID" ] && kill $BACKEND_PID 2>/dev/null
|
||||||
|
[ -n "$FRONTEND_PID" ] && kill $FRONTEND_PID 2>/dev/null
|
||||||
|
echo "✅ 服务已关闭。"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# 捕获中断信号
|
||||||
|
trap cleanup SIGINT
|
||||||
|
|
||||||
|
# 4. 启动后端 (FastAPI)
|
||||||
|
echo "[1/2] 正在启动后端服务器 (端口: 3001)..."
|
||||||
|
# 使用 conda run 确保在正确的环境下执行,无需手动 activate
|
||||||
|
conda run --no-capture-output -n $CONDA_ENV python "$ROOT_DIR/server/main.py" &
|
||||||
|
BACKEND_PID=$!
|
||||||
|
|
||||||
|
# 5. 启动前端 (Vite)
|
||||||
|
echo "[2/2] 正在启动前端开发服务器 (端口: 5173)..."
|
||||||
|
cd "$ROOT_DIR/client"
|
||||||
|
|
||||||
|
# 自动修复 Vite 的执行权限问题 (针对 Permission denied 报错)
|
||||||
|
if [ -f "node_modules/.bin/vite" ]; then
|
||||||
|
chmod +x node_modules/.bin/vite
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 使用 --host 允许外部通过服务器 IP 访问
|
||||||
|
npm run dev -- --host &
|
||||||
|
FRONTEND_PID=$!
|
||||||
|
|
||||||
|
echo "------------------------------------------"
|
||||||
|
echo "✅ 所有服务已尝试启动!"
|
||||||
|
echo "后端 PID: $BACKEND_PID"
|
||||||
|
echo "前端 PID: $FRONTEND_PID"
|
||||||
|
echo "👉 访问地址: http://服务器IP:5173"
|
||||||
|
echo "💡 提示: 按下 [Ctrl+C] 停止所有服务。"
|
||||||
|
echo "------------------------------------------"
|
||||||
|
|
||||||
|
# 阻塞主进程以保持后台进程运行并输出日志
|
||||||
|
wait
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# ==========================================
|
||||||
|
# To_Docx 环境安装脚本 (setup_env.sh)
|
||||||
|
# 用于自动化创建 Conda 环境并安装依赖
|
||||||
|
# ==========================================
|
||||||
|
|
||||||
|
CONDA_ENV="to_docx"
|
||||||
|
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
echo "------------------------------------------"
|
||||||
|
echo "🛠️ 开始配置 To_Docx 运行环境..."
|
||||||
|
echo "------------------------------------------"
|
||||||
|
|
||||||
|
# 1. 检查 Conda 是否安装
|
||||||
|
if ! command -v conda &> /dev/null; then
|
||||||
|
echo "❌ 错误: 未检测到 conda,请先安装 Miniconda 或 Anaconda。"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 2. 创建 Conda 环境 (如果不存在)
|
||||||
|
if conda info --envs | grep -q "$CONDA_ENV"; then
|
||||||
|
echo "ℹ️ 环境 '$CONDA_ENV' 已存在,跳过创建步骤。"
|
||||||
|
else
|
||||||
|
echo "📦 正在创建 Conda 环境: $CONDA_ENV (Python 3.10)..."
|
||||||
|
conda create -n $CONDA_ENV python=3.10 -y
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 3. 安装后端 Python 依赖
|
||||||
|
echo "🐍 正在安装后端依赖..."
|
||||||
|
if [ -f "$ROOT_DIR/server/requirements.txt" ]; then
|
||||||
|
conda run -n $CONDA_ENV pip install -r "$ROOT_DIR/server/requirements.txt"
|
||||||
|
else
|
||||||
|
# 回退方案:手动安装
|
||||||
|
conda run -n $CONDA_ENV pip install fastapi uvicorn pypandoc python-docx pydantic "python-jose[cryptography]" "passlib[bcrypt]" bcrypt
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 4. 检查系统依赖提示
|
||||||
|
echo "------------------------------------------"
|
||||||
|
echo "✅ Python 环境配置完成!"
|
||||||
|
echo ""
|
||||||
|
echo "💡 额外提醒:"
|
||||||
|
echo "1. 请确保系统已安装 Pandoc (Debian: sudo apt install pandoc)"
|
||||||
|
echo "2. 如果需要运行前端,请确保已安装 Node.js 并在 client 目录执行 npm install"
|
||||||
|
echo "3. 现在您可以运行 ./run_dev.sh 启动项目了。"
|
||||||
|
echo "------------------------------------------"
|
||||||
Reference in New Issue
Block a user