文档章节

golang gopath的新用法

梁大帅
 梁大帅
发布于 2017/07/25 18:25
字数 509
阅读 29
收藏 1
点赞 0
评论 0

从使用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

配置环境

QB20170725-1.png

编译

QB20170725-2.png

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目录下即可。 QB20170725-3.png

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

© 著作权归作者所有

共有 人打赏支持
梁大帅
粉丝 49
博文 45
码字总数 27883
作品 1
丰台
程序员
Ubuntu系统下go语言环境的搭建

Ubuntu安装Go: sudo add-apt-repository ppa:gophers/go sudo apt-get update sudo apt-get install golang-stable 方法二: sudo apt-get install golang 方法三: 直接下载go语言安装包 ......

ziyuzhiye ⋅ 2017/01/18 ⋅ 0

『Go 语言学习专栏』-- 第六期

大家好,我叫谢伟,是一名程序员。 我们已经研究了: Golang 环境的搭建、设置GOPATH、GOROOT 参数,Govendor 包管理, Goland 集成开发环境 Golang 语言学习专栏 -- 第一期 Golang 的基础知...

谢小路 ⋅ 05/12 ⋅ 0

在 Golang 中使用 Protobuf

安装 goprotobuf 1.从 https://github.com/google/protobuf/releases 获取 Protobuf 编译器 protoc(可下载到 Windows 下的二进制版本 wget https://github.com/google/protobuf/releases/d......

徐学良 ⋅ 2015/09/25 ⋅ 0

Golang学习之GOROOT、PATH、GOPATH及go get

GOROOT GOPATH 及 PATH 设置 a.添加系统变量GOROOT:安装完Go第一件事就是设置GOROOT。例如我的Go安装在C:Go目录,则要设置 GOROOT = C:Go b.修改环境变量PATH:将%GOROOT%bin加到环境变量P...

yearnfar ⋅ 2013/12/24 ⋅ 0

mac下安装beego,使用bee创建和运行项目

安装golang就不详细说了,下载pgk包安装,默认安装安装在 /usr/local/go 目录。 程序会自动设置环境变量,go env 可查看目前的go的环境变量。 现在GO可以执行了,在命令行输入 go version可查...

东子 ⋅ 2016/10/20 ⋅ 2

golang在ubuntu-12.04和centos-6.5上的安装

golang官方编译器安装与配置 安装gcc工具,因为golang有些功能是使用c写的,所以构建golang的编译是必须的 $ sudo apt-get install bison gawk gcc libc6-dev make 安装mercurial工具,目的使...

壬癸甲乙 ⋅ 2013/08/28 ⋅ 1

centos 6 编译 docker

docker centos 编译 下载最新源代码,至目录:GOPATH/src/github.com/docker cd GOPATH/src/github.com/docker/docker go get -v ... 下载golang.org/x/net/websocket失败 cd GOPATH/src/ m......

悠米海 ⋅ 2015/07/21 ⋅ 0

Golang使用goquery报错

最近刚开始学习golang,想着做个例子练练手,本想着做个小爬虫的,结果就这么出错了 I:GoPathsrcgithub.comandybalholmcascadiaparser.go:11:2: cannot find package "golang.org/x/net/html...

ZainZhou ⋅ 2016/07/23 ⋅ 1

配置 Golang for Mac 开发环境

Golang 官网 : https://golang.org/ Golang 中文网 http://docscn.studygolang.com/ 下载.pkg包,像Windows一样的安装。默认安装目录 /usr/local/go 目录。并已经设置好环境变量。 打开终端...

小而强大 ⋅ 2015/09/17 ⋅ 0

Go 1.5交叉编译

Go 1.5的交叉编译非常简单,基本用法如下: GOOS=os GOARCH=arch go build packages os: , , , arch: , amd64, arm... os和arch的组合可参考: https://golang.org/doc/install/source#envir......

chinaweilu ⋅ 2015/12/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

istio 文档

https://istio.io/docs/concepts/ https://istio.io/docs/concepts/traffic-management/handling-failures/ https://istio.io/docs/concepts/traffic-management/rules-configuration/......

xiaomin0322 ⋅ 17分钟前 ⋅ 0

编程语言的作用及与操作系统和硬件的关系

一、编程语言的作用及与操作系统和硬件的关系 作用:编程语言是计算机语言,是一种程序员与计算机之间沟通的介质,通过编程语言可以使得计算机能够根据人的指令一步一步去工作,完成某种特定...

slagga ⋅ 27分钟前 ⋅ 0

runtime实现按钮点击事件

也不能说是实现吧,,,就是有点类似于RAC里边的写法,不用给btn添加另外的点击事件,就那个add...select...这样子很不友好,来看下代码: [self.btn handleControlEvent:UIControlEventTou...

RainOrz ⋅ 28分钟前 ⋅ 0

Windows系统运维转linux系统运维的经历

开篇之前,首先介绍一下我的背景把:我是一个三线城市的甲方运维。最近,在《Linux就该这么学》书籍的影响下和朋友小A(Linux运维已经三年了,工资也比我的高很多)的影响下,决定转行。最近...

linux-tao ⋅ 28分钟前 ⋅ 0

zip压缩工具,tar打包工具

zip压缩工具 zip打包工具跟前面说到的gzip,bz2,xz 工具最大的不一样是zip可以压缩目录。如果没有安装,需要使用yum install -y zip 来安装。安装完之后就可以直接使用了,跟之前提到的压缩...

李超小牛子 ⋅ 36分钟前 ⋅ 0

使用npm发布自己的npm组件包

一、注册npm账号 官网:https://www.npmjs.com/signup 注册之后需要进行邮箱验证,否则后面进行组件包发布时候会提示403错误,让进行邮箱核准。 二、本地新建一个文件夹,cd进入后使用npm i...

灰白发 ⋅ 38分钟前 ⋅ 0

010. 深入JVM学习—垃圾收集策略概览

1. 新生代可用GC策略 1. 串行GC(Serial Copying) 算法:复制(Copying)清理算法; 操作步骤: 扫描年轻代中所有存活的对象; 使用Minor GC进行垃圾回收,同时将存活对象保存到“S0”或“S...

影狼 ⋅ 39分钟前 ⋅ 0

JVM性能调优实践——JVM篇

在遇到实际性能问题时,除了关注系统性能指标。还要结合应用程序的系统的日志、堆栈信息、GClog、threaddump等数据进行问题分析和定位。关于性能指标分析可以参考前一篇JVM性能调优实践——性...

Java小铺 ⋅ 40分钟前 ⋅ 0

误关了gitlab sign-in 功能的恢复记录

本想关sign-up的,误点了sign-in 退出后登录界面提示: No authentication methods configured 一脸懵逼.. 百度后众多方案说修改application_settings 的 signin_enabled字段; 实际上新版本字段...

铂金蛋蛋 ⋅ 40分钟前 ⋅ 0

登录后,后续请求接口没有带登录cookie可能原因

1.XMLHttpRequest.withCredentials没设置好,参考https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/withCredentials...

LM_Mike ⋅ 41分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部