134 lines
3.2 KiB
Bash
134 lines
3.2 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
|
|||
|
|
echo "TSP智能助手依赖安装脚本"
|
|||
|
|
echo "=========================="
|
|||
|
|
echo
|
|||
|
|
|
|||
|
|
# 检测操作系统
|
|||
|
|
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|||
|
|
OS="linux"
|
|||
|
|
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
|||
|
|
OS="macos"
|
|||
|
|
else
|
|||
|
|
OS="unknown"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "检测到操作系统: $OS"
|
|||
|
|
echo
|
|||
|
|
|
|||
|
|
# 安装Node.js和npm
|
|||
|
|
install_nodejs() {
|
|||
|
|
echo "安装Node.js和npm..."
|
|||
|
|
|
|||
|
|
if command -v node &> /dev/null; then
|
|||
|
|
echo "Node.js已安装: $(node --version)"
|
|||
|
|
return 0
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
case $OS in
|
|||
|
|
"linux")
|
|||
|
|
# Ubuntu/Debian
|
|||
|
|
if command -v apt &> /dev/null; then
|
|||
|
|
echo "使用apt安装Node.js..."
|
|||
|
|
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
|||
|
|
sudo apt-get install -y nodejs
|
|||
|
|
# CentOS/RHEL
|
|||
|
|
elif command -v yum &> /dev/null; then
|
|||
|
|
echo "使用yum安装Node.js..."
|
|||
|
|
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
|
|||
|
|
sudo yum install -y nodejs
|
|||
|
|
# Arch Linux
|
|||
|
|
elif command -v pacman &> /dev/null; then
|
|||
|
|
echo "使用pacman安装Node.js..."
|
|||
|
|
sudo pacman -S nodejs npm
|
|||
|
|
else
|
|||
|
|
echo "请手动安装Node.js: https://nodejs.org/"
|
|||
|
|
return 1
|
|||
|
|
fi
|
|||
|
|
;;
|
|||
|
|
"macos")
|
|||
|
|
if command -v brew &> /dev/null; then
|
|||
|
|
echo "使用Homebrew安装Node.js..."
|
|||
|
|
brew install node
|
|||
|
|
else
|
|||
|
|
echo "请安装Homebrew或手动安装Node.js: https://nodejs.org/"
|
|||
|
|
return 1
|
|||
|
|
fi
|
|||
|
|
;;
|
|||
|
|
*)
|
|||
|
|
echo "请手动安装Node.js: https://nodejs.org/"
|
|||
|
|
return 1
|
|||
|
|
;;
|
|||
|
|
esac
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 安装Python依赖
|
|||
|
|
install_python_deps() {
|
|||
|
|
echo "安装Python依赖..."
|
|||
|
|
|
|||
|
|
if [ -f "requirements.txt" ]; then
|
|||
|
|
if command -v python3 &> /dev/null; then
|
|||
|
|
python3 -m pip install -r requirements.txt
|
|||
|
|
elif command -v python &> /dev/null; then
|
|||
|
|
python -m pip install -r requirements.txt
|
|||
|
|
else
|
|||
|
|
echo "警告: 未找到Python"
|
|||
|
|
fi
|
|||
|
|
else
|
|||
|
|
echo "警告: 未找到requirements.txt文件"
|
|||
|
|
fi
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 安装前端依赖
|
|||
|
|
install_frontend_deps() {
|
|||
|
|
echo "安装前端依赖..."
|
|||
|
|
|
|||
|
|
if [ -d "frontend" ]; then
|
|||
|
|
cd frontend
|
|||
|
|
if [ -f "package.json" ]; then
|
|||
|
|
npm install
|
|||
|
|
else
|
|||
|
|
echo "警告: 未找到package.json文件"
|
|||
|
|
fi
|
|||
|
|
cd ..
|
|||
|
|
else
|
|||
|
|
echo "警告: 未找到frontend目录"
|
|||
|
|
fi
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 主安装流程
|
|||
|
|
main() {
|
|||
|
|
echo "开始安装依赖..."
|
|||
|
|
echo
|
|||
|
|
|
|||
|
|
# 安装Node.js
|
|||
|
|
install_nodejs
|
|||
|
|
if [ $? -eq 0 ]; then
|
|||
|
|
echo "Node.js安装成功: $(node --version)"
|
|||
|
|
echo "npm版本: $(npm --version)"
|
|||
|
|
else
|
|||
|
|
echo "Node.js安装失败,请手动安装"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo
|
|||
|
|
|
|||
|
|
# 安装Python依赖
|
|||
|
|
install_python_deps
|
|||
|
|
|
|||
|
|
echo
|
|||
|
|
|
|||
|
|
# 安装前端依赖
|
|||
|
|
install_frontend_deps
|
|||
|
|
|
|||
|
|
echo
|
|||
|
|
echo "依赖安装完成!"
|
|||
|
|
echo
|
|||
|
|
echo "使用方法:"
|
|||
|
|
echo " 启动传统版本: ./start_traditional.sh"
|
|||
|
|
echo " 启动前端开发: ./start_frontend.sh"
|
|||
|
|
echo " 构建前端: ./build_frontend.sh"
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 执行主函数
|
|||
|
|
main
|