windows10 wsl ubuntu golang mod download rename build error

.GOPATH/pkg/mod/github.com/sirupsen/logrus@v1.6.0/terminal_check_unix.go:6:8: rename  .GOPATH/pkg/mod/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0.tmp-506425660 .GOPATH/pkg/mod/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0: permission denied
Makefile:16: recipe for target 'build' failed

windows10 支持Ubuntu子系统(wsl)之后用起来真是爽歪歪,升级到go1.13 之后,使用go mod download  设置proxy 包依赖完美解决了,但是最近wsl 中编译频繁遇到编译过程提示rename  permission denied ,一般来讲如果是root 用户 ,已经拥有最高权限了 ,那么为何还是  permission denied;

网上目前存在的答案大概有如下2种:

1.chmod +wr -R  $gopath/go/src/mod/ 

2. chmod 777 $gopath/go/src/mod/ 

3. 关闭McAfee  实时扫描 (https://blog.csdn.net/Jackeyjin/article/details/106467103

but 依然不能解决问题,本来想在带网络的安全模式实验,发现并不行; 

因为系统是公司装的,自然不能关闭McAfee;

相同的代码在linux 可正常编译,因此还是权限问题; 

后来摸索一番后发现,wsl.exe  bash.exe  Ubuntu1804.exe的默认所有权都在 TrustedInstaller ,不是超级用户,自然会被McAfee扫描阻止;

因此只要把 Ubuntu1804.exe 的属性 安全 设置为 完全控制, 以管理员身份运行此程序 就可以了; 

重新编译,果然 success; 

 补充:上述操作可能导致wsl.exe 无法使用,谨慎操作;

可以尝试 sudo su  后继续执行go mod  

 

posted on 2020-06-30 19:22  iokde.com  阅读(546)  评论(0编辑  收藏  举报

导航