首页 > 解决方案 > 在 golang 模块功能中本地安装包

问题描述

当我使用 go get 安装包时,在 golang 模块模式下,这些安装在 go 根文件夹中。

我希望能够以与 npm 或 yarn 对 node.js、全局或本地相同的方式安装模块。

什么是实现这种行为的正确方法。

谢谢。

标签: go

解决方案


正如其他人所提到的,您可以像这样创建模块文件:

go mod init [import path]

之后,您可以随时运行此命令将所有依赖项移动到vendor目录中:

go mod vendor

这与目录的行为非常相似node_modules。要使用此目录中的依赖项进行构建,您可以-mod vendor在构建命令中添加:

go build -mod vendor

这样,您可以将项目复制到任何机器上,而无需在另一台机器上获取任何东西。

根据文档,如果文件中的 Go 版本为或更高并且存在目录-mod=vendor,则会自动设置该标志。go.mod1.14vendor

要从vendor目录中清除未使用的依赖项,您可以运行

go mod tidy

推荐阅读