Skip to content

Commit b9927e9

Browse files
author
William Yang
committed
feat: detect existing bootcs installation before Docker install
- Check if bootcs command already exists - If Docker wrapper exists, update silently - If native pip version exists, prompt user to confirm override - Prevents confusion from having both versions installed
1 parent 8a37343 commit b9927e9

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

scripts/install-docker.sh

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,38 @@ else
6767
fi
6868

6969
# 创建配置目录
70-
echo -e "${BLUE}[4/5]${NC} 创建配置目录..."
70+
echo -e "${BLUE}[4/6]${NC} 创建配置目录..."
7171
mkdir -p "${CONFIG_DIR}"
7272
echo -e "${GREEN}✓ 配置目录: ${CONFIG_DIR}${NC}"
7373

74+
# 检查是否已安装本地版 bootcs
75+
echo -e "${BLUE}[5/6]${NC} 检查已有安装..."
76+
EXISTING_BOOTCS=$(command -v bootcs 2>/dev/null || true)
77+
if [ -n "$EXISTING_BOOTCS" ]; then
78+
# 检查是否是 Docker wrapper(包含 "docker run")
79+
if grep -q "docker run" "$EXISTING_BOOTCS" 2>/dev/null; then
80+
echo -e "${YELLOW} 检测到已安装 Docker 版,将更新...${NC}"
81+
else
82+
echo -e "${YELLOW}⚠ 检测到已安装本地版 bootcs: ${EXISTING_BOOTCS}${NC}"
83+
echo ""
84+
echo " 本地版和 Docker 版会冲突。建议:"
85+
echo " 1. 使用 Docker 版(推荐,环境一致): 继续安装"
86+
echo " 2. 保留本地版: 按 Ctrl+C 取消"
87+
echo ""
88+
read -p "是否用 Docker 版覆盖本地版? [Y/n] " -r REPLY
89+
REPLY=${REPLY:-Y}
90+
if [[ ! "$REPLY" =~ ^[Yy]$ ]]; then
91+
echo -e "${YELLOW}安装已取消${NC}"
92+
exit 0
93+
fi
94+
echo -e "${GREEN}✓ 将用 Docker 版覆盖本地版${NC}"
95+
fi
96+
else
97+
echo -e "${GREEN}✓ 未检测到已有安装${NC}"
98+
fi
99+
74100
# 创建 wrapper 脚本
75-
echo -e "${BLUE}[5/5]${NC} 安装 bootcs 命令..."
101+
echo -e "${BLUE}[6/6]${NC} 安装 bootcs 命令..."
76102

77103
WRAPPER_SCRIPT='#!/bin/bash
78104
# bootcs-cli Docker wrapper

0 commit comments

Comments
 (0)