作为Go的新手,我正在尝试将第三方库导入供应商文件夹。我按照Go docs给出的说明进行操作,但没有找到任何关于第三方库的信息。
答案 0 :(得分:3)
Go环境正逐渐开始从像dep这样的工具转向围绕模块的原生Go工具。虽然解释模型超出了本答案的范围,但您可以从以下位置查看模块:
remove()
https://blog.golang.org/modules2019
安装dep:go get -u github.com/golang/dep/cmd/dep
在项目中运行:dep init
在我看来,解决此问题的最简单方法是使用dep依赖关系管理工具。该工具使用非常广泛且易于使用。这是一个典型的工作流程:
首先,您应该安装dep
程序。
go get -u github.com/golang/dep/cmd/dep
现在您可以访问dep命令。完整文档可在此处找到:https://github.com/golang/go/wiki/Modules
这就是将第三方库放入供应商目录的方法。在下面的示例中,我们将使用url路由器github.com/gorilla/mux。
首先,在你的代码中导入像普通的库一样。
package main
import "github.com/gorilla/mux"
func main {
r := mux.NewRouter()
r.HandleFunc("/", HomeHandler)
r.HandleFunc("/products", ProductsHandler)
r.HandleFunc("/articles", ArticlesHandler)
http.Handle("/", r)
}
现在我们要做的就是运行dep init
命令。这将查找所有导入并为您创建供应商目录,其中包含您所需的所有依赖项。 请注意,dep会自动分析您的导入。
初始化dep后,您可以正常开始处理项目。添加新库时,可以运行dep ensure
命令在供应商目录中获取新添加的第三方库。
此外,dep使您能够锁定特定版本的第三方库。 dep init
使用两个文件初始化您的项目:Gopkg.toml和Gopkg.lock。 Gopkg.toml文件包含有关哪些依赖项将在哪个版本的断言。例如,如果您希望gorilla mux库保留在版本v1.4.0,则可以将以下行添加到Gopkg.toml:
[[constraint]]
name = "github.com/gorilla/mux"
version = "=v1.4.0"
Dep还具有升级依赖项,从供应商中删除未使用的依赖项等功能。查看文档以获取更多详细信息。 https://golang.github.io/dep/