一、遇到的问题
近期有看到一些小伙伴提问,在开发go语言程序时,360安全卫士或者其他的杀毒软件,会拦截main.exe的问题
例如报错信息
:fork/exec C:\Users\Administrator\AppData\Local\Temp\go-build4237955751\b001\exe\main.exe: Access is denied.
或如下图
:360安全卫士以及一些杀毒软件弹窗
二、问题原因
首先这个问题的原因简单的理解,是因为这类安全防护类的杀毒软件会自动检测临时缓存目录,如果有不能识别的exe文件就会拦截
三、解决步骤
也有看到其他小伙伴们解决的方式,
是把这类软件直接退出和卸载
。
当然这也是一个不错的办法!
但可能对于一部分人可能不是很想这样,那么可以 用以下的方式 !
- 首先,查看一下go的 环境变量 ,
-
命令
go env查看环境变量 - 其中有一个配置项是 GOTMPDIR 这个环境变量配置项,用于指定 Go 编译器在编译过程中使用的临时目录。这个环境变量允许你自定义 Go 工具链在编译期间存放临时文件的位置。
- 默认配置通常大概率是空没有设置的 GOTMPDIR=“”
-
所以这个时候当你运行一个go文件的时候,例如:
go run main.go就会产生一个临时文件


发布评论