如何将第三方库导入到特定文件夹

伊斯梅尔(Ismail H):

对于Go来说,我是一个非常新的人,我正在尝试将第三方库导入到供应商文件夹中。我遵循Go docs给出的说明,但未找到有关第三方库的任何信息。

扎克·罗梅罗(Zac Romero):

更新(2019)

Go环境正逐渐从dep之类的工具转移到围绕模块的本机Go工具。尽管解释模型不在此答案的范围内,但是您可以从以下位置研究模块:

https://blog.golang.org/modules2019 https://github.com/golang/go/wiki/Modules

tldr

安装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//golang.github.io/dep/

这是将第三方库放入供应商目录的方式。在下面的示例中,我们将使用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文件包含有关哪些依赖项将是哪个版本的断言。例如,如果您希望大猩猩mux库保持版本v1.4.0,则可以将以下行添加到Gopkg.toml中:

[[constraint]]
name = "github.com/gorilla/mux"
version = "=v1.4.0"

Dep还具有升级依赖项,从供应商中删除未使用的依赖项等功能。请参阅文档以获取更多详细信息。https://golang.github.io/dep/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将第三方程序集复制到子文件夹

如何将require转换为第三方库的导入声明?

如何将第三方库集成到10月的cms中?

如何导入第三方库

如何将第三方Javascript文件“导入”到IntelliJ中,以便我可以在Typescript文件中引用它

将多个第三方库导入到Angular2项目的相同名称空间中

Codeigniter 如何从第三方文件夹访问视图/网页

如何将本机ios第三方库集成到React本机应用程序中?

如何将Codeigniter中的sendgrid api库用作第三方库

如何在Flutter中将第三方Android库导入Java文件

如何将第三方Java库编译为我可以使用的jar文件?

如何将第三方库连接到Angular 4以用作服务

如何将绒毛从第三方库中剥离出来?

如何将第三方静态库与新创建的 cmake 项目链接?

如何将第三方库注入angular.js服务

如何将模板与第三方CSS库一起使用

如何将第三方事件绑定到可观察的rxjs

如何将第三方JAR打包到EJB jar中?

没有第三方工具,如何将.bat文件“转换”为.exe?

使用Gradle将所有创建的和第三方的jar复制到单个文件夹中

如何递归地对文件夹中的每个文件执行第三方实用程序?

在哪里将第三方资源(如Twitter Bootstrap或Jquery UI)放在Laravel文件夹中?

移动第三方文件夹后找不到“ config.h”文件

资产文件夹中的Pdf文件无法在第三方应用中打开

从第三方库导入 javascript 模块

导入第三方库es6

密码保护任何没有任何第三方软件的文件夹?

将第三方框架导入Xcode 6 –如何将其保存到项目中?

将第三方javascript导入vuejs