首页 > 后端开发 > Golang > 如何使用 Go 模块安装 Go 工具而不破坏我的项目?

如何使用 Go 模块安装 Go 工具而不破坏我的项目?

DDD
发布: 2024-12-08 04:49:13
原创
164 人浏览过

How Can I Install Go Tools Using Go Modules Without Breaking My Project?

go 模块:安装 Go 工具

当使用 go 模块作为依赖管理系统时,您可能会遇到使用以下语法安装工具的困难:

go get -u github.com/go-critic/go-critic/...
登录后复制

这可能会导致错误:

go: cannot find main module; see 'go help modules'
登录后复制

要解决此问题,请考虑以下两种情况:

情况 1:安装工具而不修改 go.mod

如果您不打算将该工具作为 go.mod 中的依赖项进行跟踪,您有几个options:

  1. 移动到没有 go.mod 的目录,例如 /tmp,并在那里运行 go get 命令。
  2. 使用 gobin 命令,它允许您安装或运行二进制文件而不影响当前模块的依赖项。使用 gobin install github.com/some/package 等语法进行安装。

有关更多详细信息,请参阅此相关答案,其中包括 Go 1.11 的解决方案以及 Go 1.14 中即将推出的选项。

案例 2:跟踪工具依赖关系

如果您希望明确将工具作为 go.mod 中的依赖项进行跟踪,请按照以下步骤操作:

  1. 在单独的包中创建一个 tools.go 文件。
  2. 添加 //go:build 工具构建标签,例如:
//go:build tools
// +build tools

package tools

import (
    _ "golang.org/x/tools/cmd/stringer"
)
登录后复制

导入语句将在 go.mod 中记录工具版本信息,而 // 构建工具约束会阻止正常构建导入您的工具。

以上是如何使用 Go 模块安装 Go 工具而不破坏我的项目?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板