我正试图找到一种方法来更快地编译Go程序。目前大约30秒,这使得项目工作变得缓慢。
当我运行go build -v
时,我发现大部分时间都花在编译go-sqlite3上(链接到C sqlite lib)。但是,由于这个lib永远不会改变,我想知道是否有可能阻止构建工具每次都重新编译它?
答案 0 :(得分:44)
尝试使用go install -a github.com/mattn/go-sqlite3
将已编译的Go-1.3软件包安装到$ GOPATH中。
目前,您可能在$GOPATH/pkg/
下安装了旧版本,因此Go会针对每次构建重新编译它。
答案 1 :(得分:3)
这可能是由于您升级到1.3
我不得不删除$ GOPATH / pkg以摆脱旧的(不兼容的)二进制文件 然后它能够再次缓存编译结果
答案 2 :(得分:0)
在Go 1.10中,无需运行ng2-social-share
等。只需使用go install
即可。新版本使用构建缓存来确定需要重新编译的软件包。