Go离线安装依赖包教程(Windows系统)
Go离线安装依赖包教程(Windows系统)
一、在线环境准备依赖包
1. 确认Go环境
在有网络的机器上,首先确认Go已正确安装:
1 | go version |
2. 配置国内代理(可选但推荐)
如果默认代理proxy.golang.org无法访问,可以设置国内可用的代理:
1 | go env -w GOPROXY=https://goproxy.cn,direct |
3. 下载依赖包
进入包含go.mod文件的项目目录,执行以下命令下载依赖(仅下载不安装):
1 | go get -d ./... |
-d参数表示只下载依赖包,不安装./...表示下载当前目录及其子目录下所有模块的依赖
二、查找并复制依赖包
1. 查看GOPATH位置
1 | go env GOPATH |
默认情况下,Windows系统的GOPATH通常是:C:\Users\你的用户名\go
2. 定位依赖包缓存目录
依赖包下载后会存储在以下目录:
1 | %GOPATH%\pkg\mod\cache\download |
例如:C:\Users\Yui\go\pkg\mod\cache\download
3. 复制缓存目录
将整个download文件夹复制到离线机器上,可以使用U盘、移动硬盘等存储设备传输。
三、离线环境安装依赖包
1. 在离线机器上确认Go环境
1 | go version |
2. 查看并确认离线机器的GOPATH
1 | go env GOPATH |
3. 粘贴缓存目录
将之前复制的download文件夹粘贴到离线机器的以下目录:
1 | %GOPATH%\pkg\mod\cache\ |
确保目录结构正确:%GOPATH%\pkg\mod\cache\download\
4. 配置本地文件代理
在离线机器上执行以下命令,将GOPROXY设置为本地文件系统:
1 | go env -w GOPROXY=file:///C:/Users/你的用户名/go/pkg/mod/cache/download |
注意:
- Windows系统下的路径格式需要使用正斜杠
/ - 路径需要完整指定到
download目录
5. 安装依赖包
进入包含go.mod文件的项目目录,执行以下命令安装依赖:
1 | go mod tidy |
或直接运行:
1 | go get ./... |
如果没有报错信息,说明依赖包安装成功。
四、常见问题与注意事项
1. 版本兼容性
确保在线机器和离线机器的Go版本尽可能接近,避免版本差异导致的问题。
2. 私有模块问题
如果项目中使用了私有模块,需要额外配置GOPRIVATE环境变量:
1 | go env -w GOPRIVATE=git.example.com |
将git.example.com替换为你的私有仓库地址。
3. 检查安装结果
可以使用以下命令查看已安装的依赖包:
1 | go list -m all |
4. 清理缓存(可选)
如果需要清理缓存,可以执行:
1 | go clean -modcache |
五、示例操作流程
在线机器:
go env -w GOPROXY=https://goproxy.cn,direct- 进入项目目录:
cd C:\Projects\myapp - 下载依赖:
go get -d ./... - 复制缓存:将
C:\Users\Yui\go\pkg\mod\cache\download复制到U盘
离线机器:
- 将U盘中的
download文件夹粘贴到C:\Users\OfflineUser\go\pkg\mod\cache\ go env -w GOPROXY=file:///C:/Users/OfflineUser/go/pkg/mod/cache/download- 进入项目目录:
cd D:\Projects\myapp - 安装依赖:
go mod tidy
六、扩展知识
1. Go模块缓存机制
- Go 1.11及以上版本使用模块(module)管理依赖
- 依赖包下载后会存储在
%GOPATH%\pkg\mod\cache\download目录 - 安装时会从缓存中复制到
%GOPATH%\pkg\mod目录并解压
2. GOPROXY环境变量
- 用于指定Go模块代理服务器
- 多个代理可以用逗号分隔,
direct表示直接从源仓库下载 file:///协议用于指定本地文件系统作为代理
3. 其他国内代理
除了https://goproxy.cn,还有其他国内可用的Go代理:
https://goproxy.iohttps://proxy.golang.com.cn
通过以上步骤,你可以在Windows系统上成功实现Go依赖包的离线安装。如果遇到问题,请检查路径是否正确、缓存目录是否完整以及Go版本是否兼容。
- Title: Go离线安装依赖包教程(Windows系统)
- Author: 清夏晚风
- Created at : 2025-12-15 00:00:00
- Updated at : 2025-12-20 14:06:39
- Link: https://blog.kimikkorow.eu.org/程序设计语言/Go/04.Go离线安装依赖包/
- License: This work is licensed under CC BY-NC-SA 4.0.