这个问题是由于macOS Catalina新增的安全机制Gatekeeper导致的。以下是两种解决方案:
方案一:通过系统偏好设置允许安装
- 打开 系统偏好设置 → 安全性与隐私
- 在 通用 标签页中,你会看到关于被阻止应用的提示
- 点击 仍要打开 按钮
- 然后重新运行安装程序
方案二:使用命令行绕过Gatekeeper
# 下载Go安装包
curl -O https://dl.google.com/go/go1.13.3.darwin-amd64.pkg
# 移除隔离属性(解除Gatekeeper限制)
sudo xattr -rd com.apple.quarantine go1.13.3.darwin-amd64.pkg
# 然后双击安装包进行安装
方案三:使用Homebrew的正确安装方式
如果Homebrew安装失败,可以尝试:
# 更新Homebrew
brew update
# 清理之前的安装尝试
brew cleanup
# 安装Go
brew install go
# 或者安装特定版本
brew install go@1.13
方案四:手动安装(推荐)
# 下载tar.gz版本(不受Gatekeeper影响)
curl -O https://dl.google.com/go/go1.13.3.darwin-amd64.tar.gz
# 解压到/usr/local目录
sudo tar -C /usr/local -xzf go1.13.3.darwin-amd64.tar.gz
# 设置环境变量
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.zshrc
echo 'export GOPATH=$HOME/go' >> ~/.zshrc
# 使配置生效
source ~/.zshrc
# 验证安装
go version
验证安装
安装完成后,运行以下命令验证:
# 检查Go版本
go version
# 测试环境配置
go env
# 创建测试程序
mkdir -p ~/test-go
cd ~/test-go
cat > hello.go << 'EOF'
package main
import "fmt"
func main() {
fmt.Println("Go安装成功!")
}
EOF
# 运行测试
go run hello.go
不需要等待Go更新,这是macOS Catalina的安全策略导致的,Go本身没有问题。手动安装tar.gz版本是最可靠的解决方案。