Skip to content

go install - 编译并安装工具

go install 用于编译并安装 Go 程序到 $GOPATH/bin$GOBIN

📋 概述

难度级别:⭐⭐
考察范围:构建/安装
技术标签安装 构建 工具安装

🎯 核心功能

1. 基本用法

bash
# 安装当前包
go install

# 安装指定包
go install ./cmd/myapp

# 安装远程包
go install github.com/user/repo/cmd/tool@latest

# 安装特定版本
go install github.com/user/repo/cmd/tool@v1.0.0

2. 安装位置

bash
# 默认安装到 $GOPATH/bin
# 如果设置了 $GOBIN,则安装到 $GOBIN

# 查看安装位置
go env GOBIN
go env GOPATH

📝 详细示例

示例 1:安装本地工具

bash
# 项目结构
project/
├── cmd/
   └── myapp/
       └── main.go
└── go.mod

# 安装
go install ./cmd/myapp

# 工具安装到 $GOBIN/myapp

示例 2:安装远程工具

bash
# 安装最新版本
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

# 安装特定版本
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.54.2

🔧 与 go build 的区别

特性go buildgo install
输出位置当前目录$GOBIN 或 $GOPATH/bin
保留中间文件
用途构建可执行文件安装工具

🎯 最佳实践

1. 安装常用工具

bash
# 安装开发工具
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
go install github.com/fatih/gomodifytags@latest
go install github.com/cweill/gotests/gotests@latest

2. 版本管理

bash
# 使用 go install 安装工具,版本由 go.mod 管理
go install tool@v1.0.0

📖 参考资源

正在精进