66 lines
1.9 KiB
Bash
Executable File
66 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# 配置项
|
||
ROOT_DIR="/home/z/my-project/mini-services"
|
||
|
||
main() {
|
||
echo "🚀 开始批量安装依赖..."
|
||
|
||
# 检查 rootdir 是否存在
|
||
if [ ! -d "$ROOT_DIR" ]; then
|
||
echo "ℹ️ 目录 $ROOT_DIR 不存在,跳过安装"
|
||
return
|
||
fi
|
||
|
||
# 统计变量
|
||
success_count=0
|
||
fail_count=0
|
||
failed_projects=""
|
||
|
||
# 遍历 mini-services 目录下的所有文件夹
|
||
for dir in "$ROOT_DIR"/*; do
|
||
# 检查是否是目录且包含 package.json
|
||
if [ -d "$dir" ] && [ -f "$dir/package.json" ]; then
|
||
project_name=$(basename "$dir")
|
||
echo ""
|
||
echo "📦 正在安装依赖: $project_name..."
|
||
|
||
# 进入项目目录并执行 bun install
|
||
if (cd "$dir" && bun install); then
|
||
echo "✅ $project_name 依赖安装成功"
|
||
success_count=$((success_count + 1))
|
||
else
|
||
echo "❌ $project_name 依赖安装失败"
|
||
fail_count=$((fail_count + 1))
|
||
if [ -z "$failed_projects" ]; then
|
||
failed_projects="$project_name"
|
||
else
|
||
failed_projects="$failed_projects $project_name"
|
||
fi
|
||
fi
|
||
fi
|
||
done
|
||
|
||
# 汇总结果
|
||
echo ""
|
||
echo "=================================================="
|
||
if [ $success_count -gt 0 ] || [ $fail_count -gt 0 ]; then
|
||
echo "🎉 安装完成!"
|
||
echo "✅ 成功: $success_count 个"
|
||
if [ $fail_count -gt 0 ]; then
|
||
echo "❌ 失败: $fail_count 个"
|
||
echo ""
|
||
echo "失败的项目:"
|
||
for project in $failed_projects; do
|
||
echo " - $project"
|
||
done
|
||
fi
|
||
else
|
||
echo "ℹ️ 未找到任何包含 package.json 的项目"
|
||
fi
|
||
echo "=================================================="
|
||
}
|
||
|
||
main
|
||
|