3 changed files with 162 additions and 0 deletions
@ -0,0 +1,80 @@ |
|||
#!/bin/bash |
|||
|
|||
# 修复 sqlite3 bindings 问题的脚本 |
|||
# 使用方法: chmod +x fix-sqlite3.sh && ./fix-sqlite3.sh |
|||
|
|||
set -e |
|||
|
|||
echo "🔧 修复 sqlite3 bindings 问题..." |
|||
|
|||
# 颜色定义 |
|||
GREEN='\033[0;32m' |
|||
BLUE='\033[0;34m' |
|||
RED='\033[0;31m' |
|||
NC='\033[0m' # No Color |
|||
|
|||
# 检查编译工具 |
|||
echo -e "${BLUE}📦 检查编译工具...${NC}" |
|||
if [[ "$OSTYPE" == "linux-gnu"* ]]; then |
|||
if command -v apt-get &> /dev/null; then |
|||
# Debian/Ubuntu |
|||
if ! command -v python3 &> /dev/null || ! command -v make &> /dev/null || ! command -v g++ &> /dev/null; then |
|||
echo "正在安装编译工具..." |
|||
sudo apt-get update |
|||
sudo apt-get install -y python3 make g++ build-essential |
|||
fi |
|||
elif command -v yum &> /dev/null; then |
|||
# CentOS/RHEL |
|||
if ! command -v python3 &> /dev/null || ! command -v make &> /dev/null || ! command -v g++ &> /dev/null; then |
|||
echo "正在安装编译工具..." |
|||
sudo yum install -y python3 make gcc-c++ |
|||
fi |
|||
elif command -v apk &> /dev/null; then |
|||
# Alpine |
|||
if ! command -v python3 &> /dev/null || ! command -v make &> /dev/null || ! command -v g++ &> /dev/null; then |
|||
echo "正在安装编译工具..." |
|||
sudo apk add --no-cache python3 make g++ |
|||
fi |
|||
fi |
|||
fi |
|||
|
|||
# 进入 backend 目录 |
|||
cd backend |
|||
|
|||
# 停止 PM2 服务(如果正在运行) |
|||
echo -e "${BLUE}⏸️ 停止后端服务...${NC}" |
|||
pm2 stop just-demo-backend 2>/dev/null || true |
|||
|
|||
# 删除旧的 sqlite3 模块 |
|||
echo -e "${BLUE}🗑️ 清理旧的 sqlite3 模块...${NC}" |
|||
rm -rf node_modules/.pnpm/sqlite3@* 2>/dev/null || true |
|||
rm -rf node_modules/sqlite3 2>/dev/null || true |
|||
|
|||
# 重新安装 sqlite3 |
|||
echo -e "${BLUE}📦 重新安装 sqlite3...${NC}" |
|||
pnpm rebuild sqlite3 || pnpm install sqlite3 --force |
|||
|
|||
# 验证安装 |
|||
echo -e "${BLUE}✅ 验证 sqlite3 安装...${NC}" |
|||
if node -e "require('sqlite3')" 2>/dev/null; then |
|||
echo -e "${GREEN}✅ sqlite3 安装成功!${NC}" |
|||
else |
|||
echo -e "${RED}❌ sqlite3 安装失败,请检查错误信息${NC}" |
|||
exit 1 |
|||
fi |
|||
|
|||
# 返回根目录 |
|||
cd .. |
|||
|
|||
# 重启 PM2 服务 |
|||
echo -e "${BLUE}🚀 重启后端服务...${NC}" |
|||
pm2 restart just-demo-backend || pm2 start ecosystem.config.js |
|||
|
|||
echo "" |
|||
echo -e "${GREEN}🎉 修复完成!${NC}" |
|||
echo "" |
|||
echo "如果问题仍然存在,请尝试:" |
|||
echo " 1. 完全删除 node_modules: rm -rf backend/node_modules" |
|||
echo " 2. 重新安装依赖: cd backend && pnpm install" |
|||
echo " 3. 重启服务: pm2 restart just-demo-backend" |
|||
|
|||
Loading…
Reference in new issue