首先修改 /usr/local/go 目录所有权为当前用户,避免使用 sudo 安装工具;然后删除手动设置的 GOROOT,确保 PATH 仅包含单一 Go 路径;最后将 GOPATH 设为用户目录并创建标准结构,确保权限与配置正确。

在 macOS 上安装 Go 时遇到权限错误,核心在于确保安装目录的归属权和环境变量的正确指向。直接使用 sudo 执行命令是临时解决,理清 GOROOT 和 GOPATH 的关系才能根治问题。
手动安装官方 pkg 包后,Go 会被放置在 /usr/local/go。这个系统路径默认归管理员所有,普通用户无法写入,导致 go install 等命令失败。
sudo chown -R $(whoami) /usr/local/go,将 /usr/local/go 及其内容的所有者从 root 改为你当前登录的用户。sudo go install 来安装 gopls 等 VS Code 需要的工具,从根本上杜绝了权限拒绝(permission denied)错误。使用 Homebrew 安装的 Go 路径与官方包不同,混用会导致冲突。如果之前安装过旧版本,残留的配置会引发 cannot find GOROOT directory 等问题。
open ~/.zshrc (或 ~/.bash_profile),检查其中关于 PATH、GOROOT 和 GOPATH 的设置。export GOROOT=/usr/local/go。现代 Go 版本能自动推断,手动设置反而可能出错。删除这行配置,并确保 PATH 中只保留 /usr/local/go/bin 或 Homebrew 的路径(如 /opt/homebrew/bin),不要两者共存。GOPATH 是你自己的代码工作区,必须位于你有完全控制权的目录下,绝不能指向系统保护路径。
export GOPATH=$HOME/go,并将其 bin 目录加入 PATH:export PATH=$PATH:$GOPATH/bin。mkdir -p $GOPATH/{src,bin,pkg}。这样,你通过 go install 下载的工具会自动放在 ~/go/bin,而不会尝试去写没有权限的 /usr/local/go/bin。基本上就这些,关键是把系统路径的权限搞对,再把自己的工作区设好。
以上就是Mac安装Go时报权限错误怎么办_macOS安装Go权限问题修复说明的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号