Golang Go语言中求设置目录及安装三方库的正确方式
gopath 可以是多个吗?我设了 2 个,为什么 go get 安装三方库还是不能运行提示找不到库。 go install 还可以用吗? src 目录内如果想放多个.go 文件是不是必须在不同的子目录内? go mod 是管理 src 目录下所有文件还是其中某个目录的文件? 求大佬指点
Golang Go语言中求设置目录及安装三方库的正确方式
更多关于Golang Go语言中求设置目录及安装三方库的正确方式的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
gopath 可以有多个吗:可以有多个,但同一时刻,在一个工作环境下,只有一个
为什么 go get 安装三方库还是不能运行提示找不到库:gopath 可能没设置正确
go install 还可以用吗:安装依赖升级依赖就用 go get 吧,go install 用于安装二进制(以前它俩的功能有重合)
src 目录内如果想放多个.go 文件是不是必须在不同的子目录内:不是,但一个目录下的 .go 文件得有同样的 package 声明
go mod 是管理 src 目录下所有文件还是其中某个目录的文件:所有文件
你可以查查 go vendor ,这样第三方库直接就在库里了,直接编译装 docker ,无需再在容器中安装依赖。
gopath 取决于你运行程序的环境变量。
mod 模式包位置在 go/pkg/mod 。
如果你 GO111MODULE=auto ,是否在 mod 目录下 go get 结果是不一样的。
在Golang(Go语言)中,设置目录和安装第三方库通常遵循以下步骤,以确保项目结构清晰且依赖管理得当。
-
设置GOPATH和GOMODULE:
- GOPATH:早期版本中,GOPATH用于指定工作区目录,包含源码、包和二进制文件。不过,在Go 1.11及更高版本中,推荐使用Go Modules。
- Go Modules:启用模块支持后(通过设置环境变量
GO111MODULE=on
),Go会在项目根目录下查找go.mod
文件来管理依赖。如果文件不存在,执行go mod init <module-name>
来初始化。
-
安装第三方库:
- 使用
go get
命令安装第三方库。例如,安装github.com/gorilla/mux
路由库,可以运行go get -u github.com/gorilla/mux
。 - 安装后,
go.mod
和go.sum
文件会自动更新,记录依赖项及其版本。
- 使用
-
项目结构:
- 将你的项目放置在GOPATH之外(如果使用Go Modules),或在GOPATH下的
src
目录中(针对旧项目)。 - 确保源代码文件、测试文件、第三方库等遵循Go的约定目录结构,便于编译和测试。
- 将你的项目放置在GOPATH之外(如果使用Go Modules),或在GOPATH下的
-
验证安装:
- 编写代码,导入安装的库,并运行程序以验证安装是否正确。
- 使用
go list -m all
查看项目的依赖树,确保所有依赖都已正确安装。
遵循上述步骤,你可以有效地设置Go项目目录并管理第三方库依赖。