在 golang 模块功能中本地安装包

Hum*_*ume 0 go

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

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

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

谢谢。

xar*_*lus 9

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

go mod init [import path]
Run Code Online (Sandbox Code Playgroud)

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

go mod vendor
Run Code Online (Sandbox Code Playgroud)

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

go build -mod vendor
Run Code Online (Sandbox Code Playgroud)

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

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

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

go mod tidy
Run Code Online (Sandbox Code Playgroud)