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

时间:2018-10-23 11:44:39

标签: go

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

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

/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)

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

2 个答案:

答案 0 :(得分:1)

来自issue 26809 ("GOCACHE=off causes modules to exit the tests")的警告:

  

this.props.location.pathname的env变量将在1.12中逐步淘汰,并且不能与在1.11中启用的GOCACHE一起使用

将VSCode配置为使用go modules使用会更安全。

Go 1.12 release notes(适用于2019年2月)任命该官员:

  

构建缓存要求

     

现在需要构建缓存,这是消除go test -count=1 ...的步骤。
  设置环境变量$GOPATH/pkg将导致写入缓存的GOCACHE=off命令失败。

答案 1 :(得分:0)

尝试设置环境变量 module.js:550 throw err; ^ Error: Cannot find module 'secp256k1' at Function.Module._resolveFilename (module.js:548:15) at Function.Module._load (module.js:475:25) at Module.require (module.js:597:17) at require (internal/module.js:11:18) at Object.<anonymous> (/home/kashika/coin.js:2:17) at Module._compile (module.js:653:30) at Object.Module._extensions..js (module.js:664:10) at Module.load (module.js:566:32) at tryModuleLoad (module.js:506:12) at Function.Module._load (module.js:498:3)