安装Go语言常用工具

好的,这里是常用的Go工具,包括下载地址、在线安装指令和离线安装步骤。

1. gopls (Go language server)

  • 功能: 提供代码补全、跳转定义、文档提示等IDE功能。

  • 下载地址: golang.org/x/tools/gopls

  • 在线安装命令

    :

    复制代码
    sh
    复制代码
    go install golang.org/x/tools/gopls@latest

2. golint

  • 功能: 代码风格检查工具。

  • 下载地址: golang.org/x/lint/golint

  • 在线安装命令

    :

    复制代码
    sh
    复制代码
    go install golang.org/x/lint/golint@latest

3. goimports

  • 功能: 自动添加或删除导入包。

  • 下载地址: golang.org/x/tools/cmd/goimports

  • 在线安装命令

    :

    复制代码
    sh
    复制代码
    go install golang.org/x/tools/cmd/goimports@latest

4. staticcheck

  • 功能: 静态代码分析工具。

  • 下载地址 : honnef.co/go/tools/cmd/staticcheck

  • 在线安装命令

    :

    复制代码
    sh
    复制代码
    go install honnef.co/go/tools/cmd/staticcheck@latest

5. delve

  • 功能: Go程序的调试器。

  • 下载地址 : github.com/go-delve/delve

  • 在线安装命令

    :

    复制代码
    sh
    复制代码
    go install github.com/go-delve/delve/cmd/dlv@latest

6. errcheck

  • 功能: 检查未处理的错误。

  • 下载地址 : github.com/kisielk/errcheck

  • 在线安装命令

    :

    复制代码
    sh
    复制代码
    go install github.com/kisielk/errcheck@latest

7. revive

  • 功能: 代码风格检查工具,类似于golint,但更快且可配置。

  • 下载地址 : github.com/mgechev/revive

  • 在线安装命令

    :

    复制代码
    sh
    复制代码
    go install github.com/mgechev/revive@latest

8. gosec

  • 功能: 安全静态分析工具。

  • 下载地址 : github.com/securego/gosec

  • 在线安装命令

    :

    复制代码
    sh
    复制代码
    go install github.com/securego/gosec/v2/cmd/gosec@latest

9. golangci-lint

  • 功能: Go语言的聚合代码检查工具,包含多个linters。

  • 下载地址 : github.com/golangci/golangci-lint

  • 在线安装命令

    :

    复制代码
    sh
    复制代码
    go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

离线安装步骤

Go 1.17及以后的版本中,go get不再用于安装二进制包。现在使用 go install 来安装工具包。离线安装工具的步骤会有所不同,因为你需要在联网环境中下载相关的模块缓存并转移到离线环境中。以下是更新后的步骤:

  1. 在有网络的环境中下载工具
    设置临时的 Go 模块缓存目录
    在有网络的环境中设置一个临时的 Go 模块缓存目录,并下载工具包所需的模块。

sh

复制代码

设置临时环境变量

export GOPATH= ( m k t e m p − d ) e x p o r t G O C A C H E = (mktemp -d) export GOCACHE= (mktemp−d)exportGOCACHE=(mktemp -d)

export GO111MODULE=on

下载工具所需的模块

go install golang.org/x/tools/gopls@latest

go install golang.org/x/lint/golint@latest

go install golang.org/x/tools/cmd/goimports@latest

go install honnef.co/go/tools/cmd/staticcheck@latest

go install github.com/go-delve/delve/cmd/dlv@latest

go install github.com/kisielk/errcheck@latest

go install github.com/mgechev/revive@latest

go install github.com/securego/gosec/v2/cmd/gosec@latest

go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

打包模块缓存

将下载的模块缓存打包为一个压缩文件,例如gomodcache.zip。

sh

复制代码

cd $GOPATH/pkg/mod

zip -r gomodcache.zip .

  1. 将压缩文件复制到离线环境

将 gomodcache.zip 文件复制到离线环境中,并解压到相应的目录。

sh

复制代码

unzip gomodcache.zip -d /path/to/your/gopath/pkg/mod

  1. 在离线环境中安装工具

设置环境变量

在离线环境中,设置相应的环境变量,并使用解压后的模块缓存。

sh

复制代码

export GOPATH=/path/to/your/gopath

export GOCACHE=/path/to/your/gocache

export GO111MODULE=on

export PATH= P A T H : PATH: PATH:GOPATH/bin

安装工具

在离线环境中使用 go install 安装工具:

sh

复制代码

go install golang.org/x/tools/gopls@latest

go install golang.org/x/lint/golint@latest

go install golang.org/x/tools/cmd/goimports@latest

go install honnef.co/go/tools/cmd/staticcheck@latest

go install github.com/go-delve/delve/cmd/dlv@latest

go install github.com/kisielk/errcheck@latest

go install github.com/mgechev/revive@latest

go install github.com/securego/gosec/v2/cmd/gosec@latest

go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

  1. 确认工具安装

确保工具已正确安装到 $GOPATH/bin 目录中。

sh

复制代码

ls $GOPATH/bin

你应该能够看到已编译的工具可执行文件,例如 gopls、golint、goimports 等。

相关推荐
浩子coding几秒前
通过 Spring AI Alibaba 源码,看如何玩转 ReAct 智能体范式
人工智能·后端
凡人叶枫7 分钟前
Effective C++ 条款28:避免使用 handles 指向对象内部
linux·服务器·开发语言·c++·嵌入式开发
星浩AI12 分钟前
合规项目大模型如何部署?硬件选型 + vLLM/LMDeploy 实战
pytorch·后端·llm
努力成为AK大王17 分钟前
并发编程的核心挑战、优化方案与核心知识点总结
java·开发语言·数据库
摇滚侠24 分钟前
SpringMVC 入门到实战 DispatcherServlet 源码解读 92-95
java·后端·spring·maven·intellij-idea
AI 编程助手GPT1 小时前
用 Python 做一个世界杯赛前分析脚本:以巴西 vs 摩洛哥为例
开发语言·网络·人工智能·python·chatgpt
lihao lihao1 小时前
Linux信号
开发语言·c++·算法
福大大架构师每日一题1 小时前
ollama v0.30.7 正式发布:Hermes 桌面端落地,接口、文档、底层依赖全方位优化
golang·log4j
Java患者·1 小时前
《Python 人脸识别入门实践:从人脸检测到人脸比对完整实现》
开发语言·python·opencv·目标检测·计算机视觉·目标跟踪·视觉检测
ceclar1231 小时前
C# 的任务并行库(TPL)
开发语言·c#·.net