我正在Ubuntu上使用Go Modules和1.11.4运行一个项目,该项目在WSL中运行。 我的问题是我正在使增量构建按预期工作。也许这是由于我误解了它的本意,但如果有人可以澄清这种情况,我将很高兴。
仅作为示例,如果我执行go build ./...
,则一切都会按预期进行。
如果我现在再次进行go build ./...
而没有做任何更改,我的期望是由于构建的增量,这次将什么也不会构建。但是它再次构建了一切。我尝试做go build -i ./...
(即使我的理解是从1.10开始不再需要-i),但是结果是相同的。一段时间以来,这一直困扰着我,因为在阅读了文档之后,我确实希望go build
命令产生增量构建。
前几天,我意识到,如果我改为先做go install ./...
,然后再做go install ./...
,那么第二次就如我所愿。如果更改单个模块并再次运行go install ./...
,则仅 会重新构建该模块,这也是我期望的。所以这给了我增量构建。
所以我的问题是
1)我是否误解了go build ./...
以及它如何处理增量构建?我需要改用go install
吗?
2)通常,我们使用-o
标志来指定输出路径,一个接一个地构建模块。相反,使用go install
没有-o
选项来指定输出路径。我可以做些什么来使用-o
来达到类似于go install
的目标吗?
谢谢!