在编写go工程的过程中,vscode提示sqlite3 twice in the workspace错误信息,导致编写代码无法使用语言服务器。无提示无法跳转定义。
原因:go mod init XXX创建工程时,在工程目录下生成一个pkg的目录,将工程所用到的包下载此目录。而go在安装时,会在gopath的全局目录中生成一个pkg目录,因sqlite3的版本有升级,在go build时会自动下载升级的最新包,从而导致出现twice in the workspace.
解决方案:
1、删除工程目录下的pkg目录
2、在工程的go.sum文件中找到有两个版本的信息的组件包,删除不需要的版本信息。
3、到gopath的pkg\mod及pkg\cach目录下删除对应的版本目录。
4、重启vs code,做一次build,会自动下载所缺的包。