could not import “xx”: open : no such file or directory
本文最后更新于 376 天前,其中的信息可能已经有所发展或是发生改变。

Issue

今天在运行 golangci-lint run 时报了标题的错误,完整的错误信息如下:

ERRO [linters context] typechecking error: # github.com/xx/xx/internal/domains/protection_product [github.com/xx/xx/internal/domains/protection_product.test]
internal/domains/protection_product/product.go:4:2: could not import "context": open : no such file or directory

Diagnosis

很明显问题并不出在 context,这是一个系统库,不可能不存在。

找了一圈 google,百度,ChatGPT 都没找到答案。

最后搜索到这个 link 类似的问题,为了快速验证,我把该包下的 test 文件注释掉,果然能够通过 lint 了。

然后经过排查,果然 test 文件存在一个较深的循环依赖调用。要解决这个循环依赖比较麻烦,所以在 test 文件的原始包名后面加上 _test 后缀,解决了问题。

By the way

上面那个报错其实是 go list 报的,golang-ci 会调用 go list。如果需要快速验证是否还存在上述报错,可以直接这么调用:

go list -e -json -compiled=false -test=true -export=true -deps=false -find=false ./... >/dev/null

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇