go安装逻辑修复
This commit is contained in:
28
install.sh
28
install.sh
@@ -461,10 +461,16 @@ install_go() {
|
|||||||
|
|
||||||
# 先检查是否已安装且可用
|
# 先检查是否已安装且可用
|
||||||
if command -v go > /dev/null 2>&1; then
|
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
|
if [ -n "$GO_VERSION" ]; then
|
||||||
echo -e "${GREEN}✓ Go 已安装: ${GO_VERSION}${NC}"
|
echo -e "${GREEN}✓ Go 已安装: ${GO_VERSION}${NC}"
|
||||||
# 检查 Go 版本是否可用(尝试运行 go version)
|
# 再次验证 Go 是否可用
|
||||||
if go version > /dev/null 2>&1; then
|
if go version > /dev/null 2>&1; then
|
||||||
echo -e "${BLUE}Go 环境正常,跳过安装流程${NC}"
|
echo -e "${BLUE}Go 环境正常,跳过安装流程${NC}"
|
||||||
return 0
|
return 0
|
||||||
@@ -472,6 +478,17 @@ install_go() {
|
|||||||
echo -e "${YELLOW}⚠ Go 已安装但无法正常运行,尝试重新安装...${NC}"
|
echo -e "${YELLOW}⚠ Go 已安装但无法正常运行,尝试重新安装...${NC}"
|
||||||
fi
|
fi
|
||||||
else
|
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}"
|
echo -e "${YELLOW}⚠ Go 已安装但无法获取版本信息,尝试重新安装...${NC}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -620,7 +637,12 @@ build_from_source() {
|
|||||||
echo -e "${BLUE}未检测到 Go 环境,开始安装...${NC}"
|
echo -e "${BLUE}未检测到 Go 环境,开始安装...${NC}"
|
||||||
install_go
|
install_go
|
||||||
else
|
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 "")
|
GO_VERSION=$(go version 2>/dev/null | head -1 || echo "")
|
||||||
if [ -n "$GO_VERSION" ] && go version > /dev/null 2>&1; then
|
if [ -n "$GO_VERSION" ] && go version > /dev/null 2>&1; then
|
||||||
echo -e "${GREEN}✓ Go 已安装: ${GO_VERSION}${NC}"
|
echo -e "${GREEN}✓ Go 已安装: ${GO_VERSION}${NC}"
|
||||||
|
|||||||
Reference in New Issue
Block a user