go设置镜像代理

前言

在 Go 开发中,如果直接从官方源(https://proxy.golang.org)下载依赖包速度较慢,可以通过设置 镜像代理 来加速依赖包的下载。以下是增加 Go 镜像代理的详细方法:


一、设置 Go 镜像代理

1. 使用环境变量设置代理

通过设置 GOPROXY 环境变量,指定镜像代理地址。

Linux/MacOS
# 临时生效
export GOPROXY=https://goproxy.cn,direct# 永久生效(添加到 ~/.bashrc 或 ~/.zshrc)
echo 'export GOPROXY=https://goproxy.cn,direct' >> ~/.bashrc
source ~/.bashrc
Windows
# 临时生效
$env:GOPROXY = "https://goproxy.cn,direct"# 永久生效(添加到环境变量)
[System.Environment]::SetEnvironmentVariable('GOPROXY', 'https://goproxy.cn,direct', [System.EnvironmentVariableTarget]::User)
2. 使用 go env 设置代理

直接通过 go env 命令设置代理:

go env -w GOPROXY=https://goproxy.cn,direct
3. 验证代理设置
go env GOPROXY
# 输出:https://goproxy.cn,direct

二、常用 Go 镜像代理地址

镜像代理地址说明
https://goproxy.cn七牛云提供的国内镜像,推荐使用
https://goproxy.ioGoProxy 官方镜像
https://mirrors.aliyun.com/goproxy/阿里云提供的镜像
https://proxy.golang.com.cnGo 语言中文网提供的镜像
https://gocenter.ioJFrog 提供的镜像

三、多代理配置

Go 支持配置多个代理地址,用逗号分隔。如果第一个代理失败,会自动尝试下一个代理。例如:

export GOPROXY=https://goproxy.cn,https://goproxy.io,direct
  • direct:表示如果所有代理都失败,则直接从原始地址下载。

四、私有模块配置

如果你的项目依赖私有模块,可以通过 GOPRIVATE 环境变量指定私有模块的路径,避免通过代理下载。

1. 设置私有模块
export GOPRIVATE=github.com/mycompany,gitlab.com/myproject
2. 结合代理使用
export GOPROXY=https://goproxy.cn,direct
export GOPRIVATE=github.com/mycompany

五、Go 模块镜像代理的原理

Go 模块镜像代理的工作原理:

  1. 当执行 go getgo mod tidy 时,Go 会向 GOPROXY 指定的地址请求模块。
  2. 如果镜像代理中存在该模块,则直接返回;否则,代理会从原始地址下载并缓存。
  3. 如果所有代理都失败,则根据 direct 设置决定是否直接从原始地址下载。

六、示例:从零开始配置 Go 镜像代理

1. 初始化 Go 模块
go mod init myproject
2. 设置镜像代理
go env -w GOPROXY=https://goproxy.cn,direct
3. 下载依赖
go get github.com/gin-gonic/gin
4. 验证依赖下载
cat go.mod

七、总结

步骤命令或配置
设置镜像代理go env -w GOPROXY=https://goproxy.cn,direct
验证代理设置go env GOPROXY
设置私有模块export GOPRIVATE=github.com/mycompany
下载依赖go get github.com/gin-gonic/gin

通过以上方法,你可以轻松配置 Go 镜像代理,加速依赖包的下载,提升开发效率。


good day !!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/895888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux部署DeepSeek r1 模型训练

之前写过一篇windows下部署deepseekR1的文章,有小伙伴反馈提供一篇linux下部署DeepSeek r1 模型训练教程,在 Linux 环境下,我找了足够的相关资料,花费了一些时间,我成功部署了 DeepSeek R1 模型训练任务,结…

AI Agent架构深度解析:从ReAct到AutoGPT,自主智能体的技术演进与工程实践

前言 觉得不错就点个赞吧!。 一、AI Agent技术架构演进图谱 (配图:AI Agent架构演进时间轴,标注关键技术节点) 1.1 三代架构对比分析 架构类型代表系统核心特征局限性反应式DeepBlue预置规则库无长期记忆认知式Wats…

嵌入式经常用到串口,如何判断串口数据接收完成?

说起通信,首先想到的肯定是串口,日常中232和485的使用比比皆是,数据的发送、接收是串口通信最基础的内容。这篇文章主要讨论串口接收数据的断帧操作。 空闲中断断帧 一些mcu(如:stm32f103)在出厂时就已经在…

HTML/CSS中并集选择器

1.作用:选中多个选择器对应的元素,又称:分组选择器 所谓并集就是或者的含义. 2.语法:选择器1,选择器2,选择器3,......选择器n 多个选择器通过,连接,此处,的含义就是:或. .rich,.beauty{color: blue;} 3.注意事项 1.并集选择器,我们一般竖着写 2.任何形式的选择器,都可以作为并…

解锁机器学习核心算法 | 随机森林算法:机器学习的超强武器

一、引言 在机器学习的广阔领域中,算法的选择犹如为一场冒险挑选趁手的武器,至关重要。面对海量的数据和复杂的任务,合适的算法能够化繁为简,精准地挖掘出数据背后隐藏的模式与价值。机器学习领域有十大核心算法,而随…

Shapr3D在ipad上无法识别鼠标点击问题

此问题我去过长沙Apple官方直营店咨询过此问题,官方直营店也不知道解决方案,遂在此提醒长沙Apple官方线下直营店的所有店员。 问题描述 1.不知道为什么在买了Magic Keyboard后还是无法识别单击触控板,遂为了解决这个问题我特意从江西跑到长沙…

【架构】微内核架构(Microkernel Architecture)

微内核架构(Microkernel Architecture) 核心思想 微内核架构(又称插件式架构)通过最小化核心系统,将可扩展功能以插件模块形式动态加载,实现高内聚低耦合。其核心设计原则: 核心最小化:仅封装基础通用能力(如插件管理、通信机制、安全校验)功能插件化:所有业务功能…

AI 编程助手 cursor的系统提示词 prompt

# Role 你是一名极其优秀具有10年经验的产品经理和精通java编程语言的架构师。与你交流的用户是不懂代码的初中生,不善于表达产品和代码需求。你的工作对用户来说非常重要,完成后将获得10000美元奖励。 # Goal 你的目标是帮助用户以他容易理解的…

javaSE学习笔记21-线程(thread)-锁(synchronized 与Lock)

死锁 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程 都在等待对方释放资源,都停止执行的情形,某一个同步块同时拥有“两个以上对象的锁”时,就可能 会发生“死锁&quo…

uni-app发起网络请求的三种方式

uni.request(OBJECT) 发起网络请求 具体参数可查看官方文档uni-app data:请求的参数; header:设置请求的 header,header 中不能设置 Referer; method:请求方法; timeout:超时时间,单位 ms&a…

SpringBoot速成概括

视频:黑马程序员SpringBoot3Vue3全套视频教程,springbootvue企业级全栈开发从基础、实战到面试一套通关_哔哩哔哩_bilibili 图示:

GoFound 与 MySQL 集成优化方案

GoFound 与 MySQL 集成优化方案 1. 明确需求 文章信息存储在 MySQL 数据库中。使用 GoFound 实现全文搜索功能。搜索时,先从 GoFound 中获取匹配的文章 ID,然后从 MySQL 中查询完整的文章信息。 2. 优化思路 数据同步:将 MySQL 中的文章数…

基于开源Odoo模块、SKF Phoenix API与IMAX-8数采网关的资产密集型企业设备智慧运维实施方案

一、方案背景与需求分析 1.1 华东地区产业特点与设备管理痛点 华东地区作为中国制造业核心区域,聚集了钢铁、化工、汽车、装备制造等资产密集型企业。以某长三角钢铁集团为例,其设备管理面临以下挑战: 非计划停机损失严重:2023…

《魔女的夜宴》无广版手游安卓苹果免费下载直装版

自娶 https://pan.xunlei.com/s/VOJS77k8NDrVawqcOerQln2lA1?pwdn6k8 《魔女的夜宴》:一场魔法与恋爱的奇幻之旅 在美少女游戏的世界中,柚子社(Yuzusoft)的作品总是以其精美的画面、动人的剧情和丰富的角色塑造而备受玩家喜爱…

深化与细化:提示工程(Prompt Engineering)的进阶策略与实践指南2

深化与细化:提示工程(Prompt Engineering)的进阶策略与实践指南 一、结构化提示的黄金框架 1. CRISPE框架(角色-约束-意图-风格-示例) 适用于复杂技术场景,确保输出精准可控: [角色] 你是一名…

N-bit ADC过采样和L阶噪声整形后的SQNR表达式

对于采用L阶理想高通滤波器进行噪声整形的DSM,OSR每增加一倍,SQNR提高3(2L1)dB,文中给出了DSM量化精度与量化器位数N、环路滤波器阶数L和过采样率OSR的关系,在进行DSM系统设计时通过设置目标SQNR即可筛选出满足设计需要的参数组合。

Linux环境开发工具

Linux软件包管理器yum Linux下安装软件方式: 源代码安装rpm安装——Linux安装包yum安装——解决安装源、安装版本、安装依赖的问题 yum对应于Windows系统下的应用商店 使用Linux系统的人:大部分是职业程序员 客户端怎么知道去哪里下载软件&#xff1…

自动化办公|通过xlwings进行excel格式设置

1. 介绍 xlwings 是一个强大的 Python 库,可以用来操作 Excel,包括设置单元格格式、调整行高列宽、应用条件格式以及使用内置样式。本文将详细介绍如何使用 xlwings 进行 Excel 格式化操作,并附带代码示例。 2. 基础格式设置(字…

EasyRTC:智能硬件适配,实现多端音视频互动新突破

一、智能硬件全面支持,轻松跨越平台障碍 EasyRTC 采用前沿的智能硬件适配技术,无缝对接 Windows、macOS、Linux、Android、iOS 等主流操作系统,并全面拥抱 WebRTC 标准。这一特性确保了“一次开发,多端运行”的便捷性&#xff0c…

【架构思维基础:如何科学定义问题】

架构思维基础:如何科学定义问题 一、问题本质认知 1.1 问题矛盾 根据毛泽东《矛盾论》,问题本质是系统内部要素间既对立又统一的关系。例如: 电商系统矛盾演变: 90年代:商品供给不足 vs 消费需求增长00年代&#x…