标签: go build stack-trace
我现在已经意识到Go会保存二进制文件中源代码的绝对路径,以便打印堆栈跟踪等。我不想完全删除此信息,但是,这也意味着构建相同程序的每个开发人员都将生成具有不同校验和的可执行文件。在我尝试使用chroot或类似的东西重新实现构建之前:是不是有任何方法可以告诉Go不要为此目的使用绝对路径?
chroot
答案 0 :(得分:1)
我知道它并没有直接解决你提出的问题,但@ JimB的建议确实表明了一类解决你似乎遇到的问题的方法。
其中一个比较简单的(我认为)是让开发人员安装Docker并创建一个别名,以便运行go命令:
go
docker run --rm --tty --volume $GOPATH:/go golang:1.7.1(-$YOUR_PLATFORM) go
然后,每个构建(以及测试和运行)认为它使用/go的GOPATH和您的开发人员'校验和在此基础上赢得了不同意。
/go
有关详细信息,请参阅here。