golang gopath的新用法

从使用golang开发项目以来,golang的项目代码依赖问题就一直困扰着我,主要是对gopath的用法不明了导致了项目结构很混乱,最近突然想到一个很好的gopath用法,仔细研究了一下确实可行,这里就写下来了分享给大家参考

需求

首先我想实现的项目结构是,有一个单独的目录用来存放第三方开源库,然后我自己的多个golang项目可以共用这些开源库。 另外我不想每次切换项目的时候都去设置全局的gopath目录。

实现方法

我所使用的是mac环境,其他环境请自行研究配置方式,应该大同小异 首先在环境变量中设置 vi ~/.bash_profile export GOPATH=/work/go/gopath 这里只设置共享的三方开源库存放目录,go get 安装的三方库都会存在这里

在编译项目的时候手动将项目跟目录添加到GOPATH后面

echo $GOPATH

/work/go/gopath

export GOPATH=$GOPATH:/work/go/loolgame echo $GOPATH

/work/go/gopath:/work/go/loolgame

项目目录要在共享开源目录后面 最后执行编译命令 go install server

编译器下如何设置

在编译器环境下我们可以通过设置编译器中gopath环境来达到以上相同的目的 intelij IDEA

配置环境

编译

go get golang.org/x/net 安装失败解决方

安装命令:go get golang.org/x/net,错误提示:package golang.org/x/net: unrecognized import path "golang.org/x/net",包文档地址:https://godoc.org/golang.org/x/net。 这个问题主要是因为golang.org 被墙了无法访问 简单的解决方案是

https://github.com/golang/net下载,然后把目录改成golang.org/x/net。然后,万事大吉。 ps:有git的话可以直接 go get github.com/golang/net,没有的话自己手动下载放到src目录下即可。

原文地址:http://www.mqant.com/topic/597714ca8f2e454b2eb1c1ee

相关文章

程序目录结构 简单实现,用户登录后返回一个jwt的token,下次请求带上token请求用户信息接口并返回信息...
本篇博客的主要内容是用go写一个简单的Proof-of-Work共识机制,不涉及到网络通信环节,只是一个本地的简...
简介 默克尔树(MerkleTree)是一种典型的二叉树结构,其主要特点为: 最下面的叶节点包含存储数据或其...
接下来学习并发编程, 并发编程是go语言最有特色的地方, go对并发编程是原生支持. goroutine是go中最近本...
先普及一下, 什么是广度优先搜索 广度优先搜索类似于树的层次遍历。从图中的某一顶点出发,遍历每一个顶...
第一天: 接口的定义和实现 第二天: 一. go语言是面向接口编程. 在学习继承的时候说过, go语言只有封装,...