文档章节

golang gopath的新用法

梁大帅
 梁大帅
发布于 2017/07/25 18:25
字数 509
阅读 33
收藏 1

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

© 著作权归作者所有

共有 人打赏支持
梁大帅
粉丝 50
博文 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
0
『Go 语言学习专栏』-- 第六期

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

谢小路
05/12
0
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
23.7K
0
Golang modules 初探

今天天色刚刚亮起,起床看到golang 1.11正式发版了,有着两个重要的特性:modules和WebAssembly。 本博文只要说的是modules,从Java转golang的同学肯定是对golang的包管理充满了无奈之情,我...

梦朝思夕
08/26
0
11
在 Golang 中使用 Protobuf

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

徐学良
2015/09/25
8.3K
0

没有更多内容

加载失败,请刷新页面

加载更多

申请Let's Encrypt永久免费SSL证书

环境安装 1、安装git yum install git-core 2、安装python 系统自带 不用安装 只要版本大于2.7即可。 获取Let's Encrypt免费SSL证书 先停止nginx 在阿里云安全组里加入 443端口的入规则 git ...

HGMrWang
25分钟前
0
0
如何使用playframework进行更好的开发

1: 自定义基类Controller 相信刚开始使用Play的人写的Controller 都继承于 play.mvc.Controller , 但这并不是一个很好的选择,自建基类Controller可以扩展更多的功能。 1.1 验证功能。 后台...

tuerqidi
30分钟前
3
0
解决ubuntu下root用户 不能ftp登陆的问题

解决ubuntu下root用户 不能ftp登陆的问题 一般情况下,由于种种原因ftp是不让root用户远程登陆,但只要你修改以个文件就可以登陆了. 注释掉 /etc/ftpusers 中的root即可 (最后重启vsftpd serv...

15834278076
42分钟前
0
0
《JavaScript高级程序设计(第3版)》阅读笔记

第6章 面向对象的程序设计 6.2 创建对象 6.2.1 工厂模式 JavaScript创建对象(一)—— 工厂模式 6.2.2 构造函数模式 JavaScript创建对象(二)——构造函数模式 6.2.3 原型模式 JavaScript...

Bob2100
47分钟前
0
0
Windows小技巧 – Win+R提高Windows使用效率

追求效率的朋友都需要一款顺手的快速启动工具,Win 平台上有键盘流的RunZ、Listary、ALTRun、Launchy、Wox 和图标流的 Fences、Rolan、 WinLaunch 等,而 Mac 上也有 Alfred、Spotlight。 而...

QQZZFT
49分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部