go安装逻辑修复

This commit is contained in:
2025-12-03 20:08:54 +08:00
parent 26595e4e2f
commit 3996c4fc2f

View File

@@ -461,10 +461,16 @@ install_go() {
# 先检查是否已安装且可用
if command -v go > /dev/null 2>&1; then
GO_VERSION=$(go version 2>/dev/null | head -1)
# 确保 PATH 包含 Go如果从官网安装的
if [ -d "/usr/local/go/bin" ] && ! echo "$PATH" | grep -q "/usr/local/go/bin"; then
export PATH=$PATH:/usr/local/go/bin
fi
# 尝试获取 Go 版本
GO_VERSION=$(go version 2>/dev/null | head -1 || echo "")
if [ -n "$GO_VERSION" ]; then
echo -e "${GREEN}✓ Go 已安装: ${GO_VERSION}${NC}"
# 检查 Go 版本是否可用(尝试运行 go version
# 再次验证 Go 是否可用
if go version > /dev/null 2>&1; then
echo -e "${BLUE}Go 环境正常,跳过安装流程${NC}"
return 0
@@ -472,6 +478,17 @@ install_go() {
echo -e "${YELLOW}⚠ Go 已安装但无法正常运行,尝试重新安装...${NC}"
fi
else
# 如果 command -v go 存在但无法获取版本,可能是 PATH 问题
# 尝试添加 /usr/local/go/bin 到 PATH
if [ -d "/usr/local/go/bin" ]; then
export PATH=/usr/local/go/bin:$PATH
GO_VERSION=$(go version 2>/dev/null | head -1 || echo "")
if [ -n "$GO_VERSION" ]; then
echo -e "${GREEN}✓ Go 已安装: ${GO_VERSION}${NC}"
echo -e "${BLUE}Go 环境正常,跳过安装流程${NC}"
return 0
fi
fi
echo -e "${YELLOW}⚠ Go 已安装但无法获取版本信息,尝试重新安装...${NC}"
fi
fi
@@ -620,7 +637,12 @@ build_from_source() {
echo -e "${BLUE}未检测到 Go 环境,开始安装...${NC}"
install_go
else
# Go 已安装,验证是否可用
# Go 已安装,先确保 PATH 正确
if [ -d "/usr/local/go/bin" ] && ! echo "$PATH" | grep -q "/usr/local/go/bin"; then
export PATH=/usr/local/go/bin:$PATH
fi
# 验证是否可用
GO_VERSION=$(go version 2>/dev/null | head -1 || echo "")
if [ -n "$GO_VERSION" ] && go version > /dev/null 2>&1; then
echo -e "${GREEN}✓ Go 已安装: ${GO_VERSION}${NC}"