通过Goland创建了一个项目,在引用自己依赖时候,总是报错,具体情况如下:
自定义的依赖:
主程序:
运行总是报错:
说我的libtest没在标准库里,我把libtest放在/go/src里就是可以,就在GOROOT下的src可以用到,但是放在GOPATH下就引用不到,求网友们解答一下。
这是我的GOPATH路径:
通过Goland创建了一个项目,在引用自己依赖时候,总是报错,具体情况如下:
自定义的依赖:
运行总是报错:
引自免费微信小程序:皆我百晓生
在Go语言中,包的引用遵循一定的规则。从你的描述来看,问题可能是由于GOPATH
环境变量设置和项目结构不匹配导致的。
项目结构:你应该将自定义包(libtest)放在符合GOPATH工作空间的目录结构下。比如,如果你的GOPATH
为/Users/yourname/go
,那么自定义包应当放置在如下路径:
/Users/yourname/go/src/github.com/yourusername/libtest
导入路径:在主程序中引用自定义包时,应使用相对应的导入路径,而非包的实际文件路径。假设按照上述路径放置了libtest包,则在主程序中应这样引用:
import "github.com/yourusername/libtest"
Go Modules:自从Go 1.11引入Go Modules后,推荐使用Go Modules管理依赖。若启用了Go Modules(通常在项目根目录下有一个go.mod
文件),则无需关心GOPATH
,只需确保正确执行go mod init
初始化模块,并使用go build
、go run
或go mod tidy
等命令让Go自动处理依赖。
Goland配置:如果你使用的是Goland IDE,请确保IDE中的GOPATH设置与实际相符,同时确认已启用Go Modules支持或者设置了正确的源码路径。
解决方案:
go mod init github.com/yourusername/libtest
。go mod init yourmainproject
,然后通过go get github.com/yourusername/libtest
来添加依赖。请检查并按照上述建议调整你的项目结构和设置,以便正确引用自定义包。