You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows系统下执行go get安装github.com/gorilla/mux时出现“access is denied”权限错误

Windows系统下执行go get安装github.com/gorilla/mux时出现“access is denied”权限错误

问题描述

我尝试执行go get github.com/gorilla/mux来安装Gorilla Mux路由库,但在Windows系统上遇到了权限拒绝错误。

执行的命令:

go get github.com/gorilla/mux

得到的错误输出:

go: downloading github.com/gorilla/mux v1.8.1 go: github.com/gorilla/mux: open C:\Users\Golang\pkg\mod\cache\download\github.com\gorilla\mux@v\v1.8.1.lock: Access is denied.

解决方案

我之前处理过不少类似的Windows下Go模块权限问题,给你几个实用的解决办法,按顺序尝试应该能解决:

  • 以管理员身份运行终端
    Windows很多系统相关目录需要管理员权限才能写入,右键点击命令提示符(CMD)或PowerShell,选择「以管理员身份运行」,然后重新执行go get github.com/gorilla/mux命令,这是最常见也最快速的解决方式。

  • 检查并修改Go模块缓存目录的权限
    错误提示里的C:\Users\Golang\pkg\mod\cache目录可能没有给当前用户开放写入权限:

    1. 找到这个文件夹,右键选择「属性」
    2. 切换到「安全」标签页,找到你的用户账户
    3. 确保「写入」权限被勾选,如果没有,点击「编辑」按钮添加写入权限,保存后重试命令。
  • 手动指定Go模块缓存路径
    要是不想修改系统目录权限,可以把Go的缓存目录改到你有完全控制权的文件夹(比如个人文档目录):

    1. 在终端里执行:
      set GOMODCACHE=C:\Users\你的用户名\Documents\go-mod-cache
      
    2. 接着再运行go get github.com/gorilla/mux,这样缓存文件就会存在你指定的目录,不会触发权限问题。
  • 关闭可能锁定文件的后台程序
    有时候杀毒软件、安全卫士这类后台工具会锁定Go的缓存文件,导致无法写入。可以暂时关闭这类程序,完成安装后再重新开启。

备注:内容来源于stack exchange,提问作者Muhamad Ais Saputera

火山引擎 最新活动