如图:
我现在项目里面,老是会生成这个 pkg 文件夹,看一些资料,说是 moulde 设置的问题.
但是改了几遍不同的设置,这个文件夹还是在生成,而且这个 pkg 也不是在代码里面,而是在项目的根目录。如图,我的代码是在 src 下面的 mod 文件也在 src 下面,但是 pkg 却在项目根目录生成了
用 cursor 或者 vscode 都会生成这个文件夹,本来用 vscode 问题不大,但是现在用 cursor ,每次都要把这个 pkg 文件夹解析一遍,实在太慢了。
GOENV 的设置如下:可以看到该有的都有了,GOPATH 也是正常的。
GO111MODULE='on' GOARCH='amd64' GOBIN='' GOCACHE='/home/david/.cache/go-build' GOENV='/home/david/.config/go/env' GOEXE='' GOEXPERIMENT='' GOFLAGS='' GOHOSTARCH='amd64' GOHOSTOS='linux' GOINSECURE='' GOMODCACHE='/home/david/Code/go/pkg/mod' GOnOPROXY='' GOnOSUMDB='' GOOS='linux' GOPATH='/home/david/Code/go' GOPRIVATE='' GOPROXY='https://goproxy.cn,direct' GOROOT='/home/david/Code/go/vers/go' GOSUMDB='sum.golang.org' GOTMPDIR='' GOTOOLCHAIN='auto' GOTOOLDIR='/home/david/Code/go/vers/go/pkg/tool/linux_amd64' GOVCS='' GOVERSION='go1.23.3' GODEBUG='' GOTELEMETRY='local' GOTELEMETRYDIR='/home/david/.config/go/telemetry' GCCGO='gccgo' GOAMD64='v1' AR='ar' CC='gcc' CXX='g++' CGO_ENABLED='1' GOMOD='/dev/null' GOWORK='' CGO_CFLAGS='-O2 -g' CGO_CPPFLAGS='' CGO_CXXFLAGS='-O2 -g' CGO_FFLAGS='-O2 -g' CGO_LDFLAGS='-O2 -g' PKG_COnFIG='pkg-config' GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build1345018295=/tmp/go-build -gno-record-gcc-switches'
![]() | 1 body007 323 天前 你的项目放到 GOPATH='/home/david/Code/go' ,GOROOT='/home/david/Code/go/vers/go' 这两个目录的子目录没?用 go mod 时一定要把项目放到 GOPATH ,GOROOT 以外的目录。 |
![]() | 3 javalaw2010 323 天前 没碰见过,可以排查下,有可能项目本身有什么玩意儿影响了,或者编辑器覆盖了环境变量。可以挨个排查下,把 pkg 删了,再别的路径上新起个项目看看 pkg 文件在哪生成的,然后试下分别在 vscode 里面的 terminal 和系统的 terminal 里面 build 一下,先判断是项目本身有问题还是环境有问题。 |
![]() | 4 Nazz 323 天前 ![]() 换个教程看看, 你这是上古时代的宝贝 |
![]() | 5 Trim21 323 天前 via Android 你的代码在哪个目录? |
![]() | 6 kkk9 323 天前 这个情况看起来是 GO111MODULE=on 没有生效,建议看下是不是 makefile 或者其他地方覆盖掉 off 了? |
![]() | 7 dwSun OP 目前用了两个办法来规避这个问题: - 1 放一个 .cursorignore ,可以放 cursor 忽略特定的文件和目录,语法和作用都跟.gitignore 一样的。 - 2 在根目录放一个空的 go.mod 文件,看上去,因为我的项目根目录,不是代码根目录,被编辑器误认为不是 mod 的项目,所以做了一些奇怪的操作。 |
![]() | 8 realpg PRO 盲猜你是看别人教程学的 go 然后这个教程比较古董 项目结构跟现在的常规项目不一样 |
9 xiaocaiji111 322 天前 是 go 以前没有 module 时候得版本吧,那个项目要放到 src 下,然后记得还有 pkg 和 bin 目录来着,当时开发这三个目录必备,后面再也没用过这种模式 |
10 uds9u32br 322 天前 感觉像 IDE 在搞怪,试试纯命令行构建或者 goland 。 |