Go 可以运行, vscode 语法检查提示找不到包

2022-08-30 14:36:15 +08:00
 nyxsonsleep

代码块

package main
import(
	"github.com/gocolly/colly/v2"
	"fmt"
)
func main() {
	// create a new collector
	c := colly.NewCollector()
	fmt.Println(c)
}

运行结果

Requests made: 0 (0 responses) | Callbacks: OnRequest: 0, OnHTML: 0, OnResponse: 0, OnError: 0

这行"github.com/gocolly/colly/v2"飘红,提示:

error while importing github.com/gocolly/colly/v2: cannot find package "github.com/saintfish/chardet" in any of

能用,但是该怎么解决飘红的问题。有两个 gopath ,目前在第二个 gopath 目录下的 src 目录的下级目录中运行,有 go.mod,go.sum 。

916 次点击
所在节点    Go 编程语言
2 条回复
Vegetable
2022-08-30 14:53:30 +08:00
如果不是什么历史遗留原因的话,还是把项目从 gopath 里边移出来吧,go 都出到 1.19 了,大家可能已经告别 gopath 很久了。
你这个症状看起来,就是 gopls 并没有找到这个包,但是 go 命令能识别到。看起来是 gopls 去 gopath 里边找了,但是 go 命令能正确识别 go mod 安装的包。

极大概率可以通过移出来解决问题
nyxsonsleep
2022-08-30 15:06:35 +08:00
@Vegetable 非常感谢,看来是有了 mod 之后不再需要 gopath 了,删除环境变量后正常了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/876475

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX