每次编译要10分钟,等不及了。如何避免本地包重复编译?

每次编译要10分钟,等不及了。如何避免本地包重复编译?

1、在本地$GOROOT/src下有若干个project

   src/a.com
   src/b.com
   src/c.com
   src/....com

2、a.com 和 b.com 的代码基本稳定,不变化了

 a.com和b.com 作为包的形式提供服务,且功能基本上固定了,不变化了。

3、经常变化的是 c.com

  c.com 里面有beego 或者revel
  随着网站的更新,经常变化,需要每次重新编译

4、如何配置才能:每次运行的时候,只编译c.com中的内容?

 即直接使用a.com 和 b.com 包中编译好的  .a   文件。

5、如果需要,再手动分别编译 a.com 或 b.com

现在编译时间太长了。每次10分钟,哪怕改一个字节,也需要等10分钟。

共 5 个回复


David

你怎么编译的?

# 0

pbix2008

1、环境变量设置是否有问题。项目目录在$GOPATH/src下 2、到$GOPATH/bin目录下,执行go build c.com

# 1

yinshuwei

a.com和b.com可以放在$GOPATH/src下install,这样就不用每次编译了。

实在不行就把a.com,b.com放在github上,用go get 拉下来。

# 2

cloud

David :

我是让revel 中的harness调用 go build 来编译的。

yinshuwei & pbix2008: 实在不行,我就开个github付费账号。

现在编译后的bin文件大小:34M。

mbp&ssd的环境。

# 3

defia

反正你这个$GOROOT/src下放项目肯定是不对的,先改成$GOPATH吧...我觉得还是你设置问题.编译一整套系统库也不用那么久的,当然用cgo的东西会慢很多

# 4