前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go语言核心编程(8)——工程管理

Go语言核心编程(8)——工程管理

作者头像
羊羽shine
发布2019-05-29 18:39:57
5870
发布2019-05-29 18:39:57
举报
文章被收录于专栏:Golang开发

注:本文是《Go语言核心编程》(李文塔/著)个人读书笔记

编译环境

编译go源代码 Go1.5起Go的编译器完全使用Go重写,要源码安装Go需要有Go的编译环境,需要下载 1.4 版本使用C语言编写的Go编译器源码,通过 Linux自带的gcc先编译出 一个 Go 环境,然后拿这个Go环境编译新版本的Go环境 。 重要的环境变量 $GOROOT $GOROOT 是 Go 的安装根目录 。Linux 下的环境默认是/usr/local/go,如果$GOROOT位于上述位置,则不需要显式地设置$GO ROOT 环境变量;如果不是默认安装目录,则需要显式地设置$GOROOT 环境变量 $GOPATH $GOPATH 是 Go 语言编程的工作目录(workspace)如果没有设置 GOPATH 环境变量,则 Linux 下系统默认是 $HOME/go。

第三包管理

vendor Go1.5引入了vendor机制,手动设置环境变量GO15VENDOREXPERIMENT= 1,编译器才能启用vendor,从 Go 1.6 起,默认开启vendor目录查找。查找第三方包的流程: 1如果当前包下有 vendor 目 录 ,则从其下查找第三方的包,如果没有找到,则继续执行下一步操作 。 2如果当前包目录下没有 vendor 目录,则沿当前包目录向上逐级目录查找 vendor 目录,直到找到

GOPATH/src 下的 vendor 目录,只要找到 vendor 目录就去其下查找第三方的 包,如果没有则继续执行下一步操作。 3在 GOPATH 下面查找依赖包 。 4在 GOROOT 目录下查找依赖包 。 vendor 将原来放在
GOPATH/src 下的 vendor 目录,只要找到 vendor 目录就去其下查找第三方的 包,如果没有则继续执行下一步操作。 3在 GOPATH 下面查找依赖包 。 4在 GOROOT 目录下查找依赖包 。 vendor 将原来放在

GOPATH/src 的第三方包放到当前工程的 vendor 目录中进行管理。 它为工程独立的管理自己所依赖第三方包提供了保证 ,多个工程独立地管理自己的第三方依赖包, 它们之间不会相互影响 。 vendor将原来包共享模式转换为每个工程独立维护的模式, vendor的另一个好处是保证了工程目录下代码的完整性,将工程代码复制到其他 Go 编译环境,不需要再去下载第三方包 ,直接就能编译就行了。 vendor有一个重要的问题没有解决第三包的版本管理,go get -u 更新第三方包。 默认的是将工程的默认分支的最新版本拉取到本地。

dep

安装dep

代码语言:javascript
复制
go get - u github.com/golang/dep/cmd/dep

使用 dep init 命令初始化工程,该命令可以用于新项目,也可以用于己经存在的项目 。Gopkg.toml 可以由用户自由配置,包括依赖的 source、branch、version 等。 Gopkg.lock 仅描述工程当前第三方包版本视图。 dep ensure 手动更新 Gopkg.toml 需要运行 dep ensure来重新生成 Gopkg.lock 并更新vendor,

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编译环境
  • 第三包管理
  • dep
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档