分享
  1. 首页
  2. 文章

GB(一)

0zaki1sc · · 3028 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

gb go语言基于项目的编译工具

1. 安装

1.1 约束

gb 依赖Go1.4以上版本

1.2 安装

通过以下命令安装

go get github.com/constabulary/gb...

1.3 升级

gb 依然处于开发状态,通过以下命令升级到最新版本

go get -u github.com/constabulary/gb/...

1.4 多版本go的情况

对每一个go版本都安装gb

1.5 注意

安装完毕后的gb命令和oh-my-zsh配置的 git branch 简写命令有冲突,采用 ~/.zshrc中

unalias gb

来屏蔽

2. 项目

gb基于项目。一个gb工程为一个编译单元,每个gb工程目录含有一个src/子目录,没有配置文件的设置,以下文档我们统称工程的目录为$PROJECT

2.1 自己的代码,第三方的代码

gb项目区分自己的代码和依赖的第三方代码。gb项目内,自己的代码放在

$PROJECT/src/

第三方代码放在

$PROJECT/vendor/src/

2.2 项目不在$GOPATH下进行配置

gb项目不会跟$GOPATH有关系,
gb也不会采用go get来下载管理依赖;依赖的第三方库代码都应放在$PROJECT/vendor/src/ 目录下
gb项目也可以用go get来获取,但不能由go tools工具来构建,因为gb项目不遵循go get的约定

2.3 创建项目

创建一个gb项目也就是创建一个普通的文件目录:

% mkdir -p $HOME/code/demo-project

这个目录将作为gb项目的根目录,现在创建src/子目录来存放你自己的项目代码:

% mkdir -p $PROJECT/src
% tree $PROJECT
/home/dfc/code/demo-project
└── src

2.4 创建包

注意: gb不会编译$PROJECT/src/下的代码,也不会编译根目录下的代码,你必须将代码放在一个package内,让我们来创建一个包:

% mkdir -p $PROJECT/src/hello
% tree $PROJECT
/home/dfc/code/demo-project
└── src
 └── hello
 └── hello.go

我们看一下hello.go文件:

package main
 
import "fmt"
 
func main() {
 fmt.Println("Hello gb")
}

2.5 编译

注意:采用gb自己的编译命令:

% gb build all
hello
% bin/hello
Hello gb
% tree $PROJECT
/home/dfc/code/demo-project
├── bin
 └── hello
└── src
 └── hello
 └── hello.go

2.6 版本控制

注意:一般不提交$PROJECT/pkg$PROJECT/bin下的内容,只提交$PROJECT/src/下的代码



有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:0zaki1sc

查看原文:GB(一)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
3028 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏