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.02. 安装位置
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 build | go 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@latest2. 版本管理
bash
# 使用 go install 安装工具,版本由 go.mod 管理
go install tool@v1.0.0