您的位置  > 互联网

中执行goenv命令哪个才是运行环境的关键?

下载安装包

官方网站是/。 如果官网打不开,可以访问域名/。 点击官网Go,进入下载页面。 可以看到这里提供了各个系统的安装包,以及源码。 您可以下载源码进行编译安装。

下载并运行安装包后,执行go env命令,如果出现以下输出,则说明安装成功。

如果你仔细看上面的输出,你会发现有一个又一个,那么哪个是最好的运行环境。

首先访问该路径,你会发现其中包含bin、lib等文件夹。 是安装路径,包含编译、工具、标准库等,安装后就会存在。

与go不同的是,它是工作空间路径。 从go 1.8开始,如果不设置,会有一个默认值,在Unix上是$HOME/go,在Unix上是%%/go。 当调用 go build 时,会在 . 如果你访问这个路径,你会发现只有pkg、bin、src三个文件夹,而且基本都是空的。 这是约定的目录结构。 src文件夹用于存放源代码,pkg存放编译后生成的文件。 bin存放编译后生成的可执行文件。 项目代码需要位于/src路径中。

该路径下存放的是项目代码,所有通过go get安装的依赖也都存放着。 项目代码和依赖代码处于同一级别。 当每个项目都有很多依赖项时,这条路径下的代码量会很吓人,而且很难分离。

2015 年,Go 1.5 添加了一个实验机制(在 2016 年的 Go 1.6 版本中默认启用)。 其机制是在项目中添加文件夹来存储依赖关系,从而可以隔离不同项目的依赖关系。 打开。

使用 go run 或 go build 命令时,首先会从当前路径下的文件夹中搜索依赖。 如果不存在,将从那里搜索依赖项。

不过,我们通常使用 go get 或 go 命令来安装依赖项。 这两个命令仍会将依赖项安装到路径中。

包管理工具 dep

只是go官方提供的一种机制,但是包管理的问题还是没有解决,也没有依赖的版本管理。 如果要实现上述功能,还需要使用包管理工具。

Go官方提供了包管理工具的对比://go/wiki/ls

dep是官方实验包管理工具,可以通过以下脚本安装

卷曲//dep//.sh | 嘘

安装完成后,进入项目路径并执行

dep init

项目中会有两个文件和一个目录

Gopkg.toml
Gopkg.lock
vendor

dep包管理流程如图

使用以下命令添加依赖

dep ensure -add [github.com/gin-gonic/gin](http://github.com/gin-gonic/gin)

使用以下命令更新Gopkg.lock

dep ensure -update

欢迎关注知乎专栏【私房菜】