-1

我最近开始使用 Go,我注意到当我运行go get <some_url>包时会安装在 c://users/[user]/go/pkg 中。我想知道有没有办法在项目根目录中安装包,就像我npm install在使用节点时所做的那样?如果我使用相同的行为go mod init <my_proj>。似乎go mod init <my_proj>只将我的项目安装在 c://users/[user]/go/pkg 中。

谢谢。

4

1 回答 1

1

我假设,您之所以这么问,是因为您想出售您的依赖项。默认情况下,依赖项存储在$GOPATH/pkg/mod目录中,但模块系统也支持 vendoring。这是有关如何使用它的文档:

go mod vendor

将在项目的根目录中创建供应商目录并将您的依赖项存储在那里。然后,如果您想使用来自供应商的依赖项构建/测试/etc 项目,您需要go build/test使用-mod=vendor标志运行(从 go1.14 开始,如果您的包中有供应商目录,则会自动添加此标志)。

于 2020-04-20T10:20:04.700 回答