如何解决使用模块时go项目的工作目录在哪里?
我正在尝试从GitHub下载,进行一些调整并构建一个golang项目。该项目的说明是:
go get github.com/<vendor>/<projectName>
cd src/github.com/<vendor>/<projectName>
go build .
过去曾经有效-在启用Go模块之前。
现在我有GO111MODULE=on
(转到go1.15.4 linux/amd64
版)。运行第一个命令时,go将项目下载为模块及其所有依赖项。
但是没有src/github.com/<vendor>/<projectName>
文件夹了。此外,系统中没有名为<projectName>
anywhere 的文件夹。
相反,有一个文件夹pkg/mod/github.com/<vendor>
,其中包含项目文件夹,该文件夹的名称(感叹号等)和版本标识符中都有怪异的符号。
如何获得可用于进行调整和构建的项目文件夹?
解决方法
如果您的目标是调整,则它是使用go mod vendor
的最简单方法。
https://golang.org/ref/mod#go-mod-vendor
,go mod vendor命令在主模块的根目录中构造一个名为vendor的目录,其中包含支持主模块中软件包的构建和测试所需的所有软件包的副本。
@Volker指出,应该使用旧的git clone
。
事实证明,应使用go get github.com/<vendor>/<projectName>
的代替(不知道为什么项目供应商建议这样做):
git clone git://github.com/<vendor>/<projectName>
cd <projectName>
go get ./...
# do tweaks here
go build .
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。