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
|
||||
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}"
|
||||
|
||||
Reference in New Issue
Block a user