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

相关推荐
m0_480502645 分钟前
Rust 入门 泛型和特征-特征对象 (十四)
开发语言·后端·rust
程序员爱钓鱼32 分钟前
Go语言实战案例-使用ORM框架 GORM 入门
后端
M1A133 分钟前
TCP协议详解:为什么它是互联网的基石?
后端·网络协议·tcp/ip
瓦特what?35 分钟前
关于C++的#include的超超超详细讲解
java·开发语言·数据结构·c++·算法·信息可视化·数据挖掘
一枚小小程序员哈42 分钟前
基于微信小程序的家教服务平台的设计与实现/基于asp.net/c#的家教服务平台/基于asp.net/c#的家教管理系统
后端·c#·asp.net
祁同伟.1 小时前
【C++】动态内存管理
开发语言·c++
楽码1 小时前
自动修复GoVet:语言实现对比
后端·算法·编程语言
石榴树下1 小时前
00. 马里奥的 OAuth 2 和 OIDC 历险记
后端
uhakadotcom1 小时前
开源:subdomainpy快速高效的 Python 子域名检测工具
前端·后端·面试
一只鲲1 小时前
40 C++ STL模板库9-容器2-vector
开发语言·c++