在运行测试之前,如何自动清除Visual Code中的go缓存?

在运行测试之前,如何自动清除Visual Code中的go缓存?

问题描述:

There is a small nuisance with Visual Code and Go, but is mainly related to the most recent release of go 1.11.x and the newly introduced module system. The go builder creates a folder called 'auto' for cached builds, which can be cleaned / deleted via 'go clean -cache'.

Visual Code seems to be confused when executing tests, if such a directory is present, and complains about missing dependencies:

/home/user/.golang/src/github.com/stretchr/testify/assert/assertions.go:20:2: could not import github.com/pmezard/go-difflib/difflib (open auto/4c/4cb1f0f2c9f328e3cade99998704759897fd4e530af38db25c85cdc253c1f1a0-d: no such file or directory)

is there any possibility to fix this? Or is it just another setting I forgot to make?

Visual Code和Go有点麻烦,但主要与go 1.11的最新版本有关。 x和新引入的模块系统。 go构建器为缓存的构建创建了一个名为“ auto”的文件夹,可以通过“ go clean -cache”来清除/删除该文件夹。 p>

执行测试时,如果存在这样的目录,Visual Code似乎会感到困惑,并且抱怨缺少依赖项: p>

  / home  /user/.golang/src/github.com/stretchr/testify/assert/assertions.go:20:2:无法导入github.com/pmezard/go-difflib/difflib(open auto / 4c / 4cb1f0f2c9f328e3cade99998704759759fd4e530af38db25c85cdc253c1f1a 没有此类文件或目录)
  code>  pre> 
 
 

是否有可能解决此问题? 还是只是我忘记做的另一种设置? p> div>

Try setting the environment variable GOCACHE=off.

Warning from issue 26809 ("GOCACHE=off causes modules to exit the tests"):

The GOCACHE env variable will be phased out out in 1.12, and cannot be used with go modules enabled in 1.11

Configuring VSCode to use using go test -count=1 ... is safer.

The Go 1.12 release notes (for February 2019) makes that official:

Build cache requirement

The build cache is now required as a step toward eliminating $GOPATH/pkg.
Setting the environment variable GOCACHE=off will cause go commands that write to the cache to fail.