GoLand执行go mod tidy遇Access is denied权限问题求助
解决Windows下执行
go mod tidy时权限拒绝(无法写入GOROOT缓存)的问题 以下是针对Windows 11 x64、GoLand 2022.3.2、Go 1.20.1场景的具体解决步骤:
修改模块缓存目录到用户有权限的路径
默认Go的模块缓存(GOMODCACHE)指向GOROOT下的系统目录,普通用户无写入权限。可手动指定到用户私有目录:- 打开终端执行:
go env -w GOMODCACHE=C:\Users\<你的用户名>\go\pkg\mod(替换<你的用户名>为实际名称) - 或在GoLand中配置:打开
File > Settings > Go > Go Modules,修改Module cache path为上述用户目录路径,保存后重启GoLand再执行go mod tidy
- 打开终端执行:
临时以管理员身份运行工具
右键GoLand图标选择「以管理员身份运行」,或打开管理员权限的PowerShell/CMD,进入项目目录后执行go mod tidy。此为临时方案,长期使用优先推荐修改缓存目录。调整GOROOT目录权限(谨慎操作)
找到Go安装目录(如C:\Program Files\Go),右键选择「属性」→「安全」→「编辑」,给当前登录用户添加「写入」权限。注意修改系统目录权限存在安全风险,仅在其他方案无效时尝试。验证GoLand的SDK配置
打开File > Settings > Go > GOROOT,确认选中的Go SDK路径为你有权限读写的安装目录,避免使用系统默认的受限路径。
内容的提问来源于stack exchange,提问作者Đỗ Như Vỹ
相关产品推荐
相关产品推荐

