【发布时间】:2019-11-05 01:10:12
【问题描述】:
我遇到了一个奇怪的问题,在使用 go 模块供应我的依赖项后,go build 命令会用随机数据覆盖 main.go 文件。
文件的开头如下所示:
����
H
H__PAGEZEROx__TEXTpxpx__text__TEXT��7�__rodata__TEXT��7Y��7__symbol_stub1__TEXT�V��V�__typelink__TEXT�V�(�V__itablink__TEXTP@V�
P@V__gosymtab__TEXT�JV�JV__gopclntab__TEXTKV
"KV�__DATApx�|px c
__nl_symbol_ptr__DATApx�pxs__noptrdata__DATA�sx���sx__data__DATA�&{���&{__bss__DATA �{��__noptrbss__DATA�}�2__DWARF�}�{�� __zdebug_abbrev__DWARF�}�{__zdebug_line__DWARF�}'W�{__zdebug_frame__DWARF;H���;8�__zdebug_pubname__DWARF�څ�K�ʃ__zdebug_pubtype__DWARF�&����__debug_gdb_scri__DWARF��6�ӄ__zdebug_info__DWARF���
�ӄ__zdebug_loc__DWARF䉑��y�__zdebug_ranges__DWARFU��ZE�H__LINKEDIT�}L���L��*�����,�r���Pu,u,x,xo�� /usr/lib/dyld8/usr/lib/libSystem.B.dylibh/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation`/System/Library/Frameworks/Security.framework/Versions/A/Security$
� Go build ID: "OLftMbjtv5aWMkI_0qrD/LhWRtD0wcaKFWRYSDOa9/7dFWcNOQ4BpWWqZQW07D/pkR9ABiz-SHIBaJIZ1ur"
����������UH��AWAVATSH���=|I��
Go 版本:go 版本go1.12.5 darwin/amd64
使用 export GO111MODULE=on 启用 Go 模块
文件夹结构: go.mod go.sum log.go main.go 供应商
仅供参考:只有 main.go 被覆盖,而不是 log.go。
使用 go mod init 初始化的 Go 模块
以go mod vendor 销售的应用程序
不确定我是否做错了什么。任何帮助表示赞赏。
【问题讨论】:
-
你具体使用什么命令?您是否将您的模块命名为
main.go? -
谢谢@JimB。这就是问题所在。我刚刚运行了
go mod init,它创建了名为main.go的模块。然后运行go build将覆盖main.go文件。将模块名称更改为 main(或 main.go 以外的任何名称)解决了这个问题。
标签: go build dependencies go-modules