安装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 等。

相关推荐
mjhcsp19 分钟前
C++ 递推与递归:两种算法思想的深度解析与实战
开发语言·c++·算法
m0_7482480232 分钟前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
java·开发语言·c++·算法
码起来呗41 分钟前
基于Spring Boot的乡村拼车小程序的设计与实现-项目分享
spring boot·后端·小程序
我命由我123451 小时前
Java 并发编程 - Delay(Delayed 概述、Delayed 实现、Delayed 使用、Delay 缓存实现、Delayed 延迟获取数据实现)
java·开发语言·后端·缓存·java-ee·intellij-idea·intellij idea
HLJ洛神千羽1 小时前
C++程序设计实验(黑龙江大学)
开发语言·c++·软件工程
kyle~1 小时前
算法数学---差分数组(Difference Array)
java·开发语言·算法
曹牧1 小时前
C#:三元运算符
开发语言·c#
Jonathan Star1 小时前
MediaPipe 在Python中实现人体运动识别,最常用且高效的方案是结合**姿态估计**(提取人体关键点)和**动作分类**(识别具体运动)
开发语言·python·分类
滨HI02 小时前
C++ opencv拟合直线
开发语言·c++·opencv
沐浴露z2 小时前
详解JDK21新特性【虚拟线程】
java·开发语言·jvm