Go模块:Go生成后,main.Go文件被覆盖
我面临一个奇怪的问题,在用go模块出售依赖项之后,go build命令用随机数据覆盖main.go文件 文件的开头如下所示:Go模块:Go生成后,main.Go文件被覆盖,go,build,dependencies,go-modules,Go,Build,Dependencies,Go Modules,我面临一个奇怪的问题,在用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�_
����
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达尔文/amd64
启用Go模块化,带有export GO111MODULE=on
文件夹结构:
go.mod go.sum log.go main.go供应商
仅供参考:只有main.go被覆盖,而不是log.go
Go模块用Go mod init初始化
应用程序由go mod vendor
不确定我是否做错了什么。非常感谢您的帮助。模块名称不应为main.go,因为它是包中的文件。请使用您的项目名称作为go mod init
中的模块名称
例如,如果您的项目根目录是hello,请将包命名为hello,而不是main.go
。
此外,如果您想一遍遍地使用该模块,请考虑使用存储库名称作为模块名。
Go处理包而不是单个文件。Go模块用于组织包。在中了解更多您确切使用的命令是什么?您是否将模块命名为main.go
?谢谢@JimB。这就是问题所在。我刚刚运行了go mod init
,它创建了名为main.go
的模块。运行go build
将覆盖main.go
文件。将模块名称更改为main(或main.go以外的任何名称)解决了该问题。