在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Golang配置代理方法

馬哥Linux運維 ? 來源:博客園sparkdev ? 2024-11-11 11:17 ? 次閱讀

由于一些客觀原因的存在,我們開發(fā) Golang 項目的過程總會碰到無法下載某些依賴包的問題。這不是一個小問題,因為你的工作會被打斷,即便你使用各種神通解決了問題,很可能這時你的線程已經(jīng)切換到其他的事情上了(痛恨思路被打斷!)。所以最好是一開始我們就重視這個問題,并一勞永逸的解決它。

問題描述

當我們使用 go get、go install、go mod 等命令時,類似于 golang.org/x/... 的包會是無法下載的。比如通過下面的命令下載 sys 包:

$ go get -u golang.org/x/sys

下載肯定會失敗:

159224f6-9061-11ef-a511-92fbcf53809c.png

設(shè)置代理

如果你有自己的代理服務(wù)器,那就很容易了,這也是一勞永逸的方法。直接設(shè)置環(huán)境變量 http_proxy 和 https_proxy 就行了:

export http_proxy=http://proxyAddress:port
export https_proxy=http://proxyAddress:port

比如筆者在局域網(wǎng)中共享了代理 192.168.21.1:1080:

$ export http_proxy=http://192.168.21.1:1080
$ export https_proxy=http://192.168.21.1:1080

然后執(zhí)行下面的命令后就能夠下載了:

$ go get -u golang.org/x/sys

手動下載并安裝包

如果一時找不到合適的代理,還可以臨時通過手動的方式下載包。我們常見的 golang.org/x/... 包,一般在 GitHub 上都有官方的鏡像倉庫對應(yīng)。比如zieckey/golang.org就是作為 golang.org/x 的鏡像庫存在的。我們可以手動下載或 clone 對應(yīng)的 GitHub 倉庫到指定的目錄下,比如從zieckey/golang.org下載 x 目錄下的所有包。或者是每次只下載單個的庫,下面的示例演示如何下載 text 庫:

$ mkdir $GOPATH/src/golang.org/x
$ cd $GOPATH/src/golang.org/x
$ git clone git@github.com:golang/text.git

當如果需要指定版本的時候,該方法就無解了,因為 GitHub 上的鏡像倉庫多數(shù)都沒有 tag。

使用 go mod replace

從 Go 1.11 版本開始,新增支持了 go modules 用于解決包依賴管理問題。該工具提供了 replace,就是為了解決包的別名問題,也能替我們解決 golang.org/x 無法下載的的問題。

go module 被集成到原生的 go mod 命令中,但是如果你的代碼庫在 $GOPATH 中,module 功能是默認不會開啟的,想要開啟也非常簡單,通過一個環(huán)境變量即可開啟 export GO111MODULE=on。比如下面的示例,在go.mod中指定下面的代碼:

module example.com/demo


require (
    golang.org/x/text v0.3.0
)


replace (
    golang.org/x/text => github.com/golang/text v0.3.0
)

使用 GOPROXY 環(huán)境變量

從 Go 1.11 版本開始,官方支持了 go module 包依賴管理工具。其實還新增了 GOPROXY 環(huán)境變量。如果設(shè)置了該變量,下載源代碼時將會通過這個環(huán)境變量設(shè)置的代理地址,而不再是以前的直接從代碼庫下載。比如我們可以指定自己的代理地址。

更可喜的是,goproxy.io 這個開源項目幫我們實現(xiàn)好了我們想要的。該項目允許開發(fā)者一鍵構(gòu)建自己的 GOPROXY 代理服務(wù)。同時,也提供了公用的代理服務(wù)https://goproxy.io,我們只需設(shè)置該環(huán)境變量即可正常下載被墻的源碼包了:

export GO111MODULE=on
export GOPROXY=https://goproxy.io

也可以通過置空這個環(huán)境變量來關(guān)閉,export GOPROXY=。

對于 Windows 用戶,可以在 PowerShell 中設(shè)置:

$env:GOPROXY = "https://goproxy.io"

最后,我們當然推薦使用 GOPROXY 這個環(huán)境變量的解決方式,前提是 Go version >= 1.11。

下載 golang.org/x/sys 包:

$ go get -u golang.org/x/sys

15ab71ea-9061-11ef-a511-92fbcf53809c.png

下載到的包在 $GPATH/pkg/mod/golang.org/x/

15c328b2-9061-11ef-a511-92fbcf53809c.png

鏈接:https://www.cnblogs.com/sparkdev/p/10649159.html

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9160

    瀏覽量

    85415
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    684

    瀏覽量

    22021
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    504

    瀏覽量

    19682

原文標題:Golang 配置代理方法

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于Linux內(nèi)核的透明代理配置方案

    本內(nèi)容提供了基于Linux內(nèi)核的透明代理配置方案,先解釋為什么要配置透明代理,如何利用Linux內(nèi)核來實現(xiàn)
    發(fā)表于 11-03 16:47 ?864次閱讀

    Golang接口的作用和應(yīng)用場景

    Golang(Go)作為一門現(xiàn)代的靜態(tài)類型編程語言,提供了許多強大的特性,其中之一便是接口(interface)。接口是Golang中的一個核心概念,它具有廣泛的應(yīng)用場景,可以幫助開發(fā)者實現(xiàn)
    的頭像 發(fā)表于 12-05 10:44 ?1132次閱讀

    如何使用Golang連接MySQL

    首先我們來看如何使用Golang連接MySQL。
    的頭像 發(fā)表于 01-08 09:42 ?3378次閱讀
    如何使用<b class='flag-5'>Golang</b>連接MySQL

    Golang怎么實現(xiàn)UTS隔離

    Golang實現(xiàn)UTS隔離
    發(fā)表于 08-23 14:44

    Golang爬蟲語言接入代理

    HTTP,獲取數(shù)據(jù)4、屏蔽無效請求5、解析數(shù)據(jù)內(nèi)容6、儲存數(shù)據(jù)7、使用爬蟲代理持續(xù)采集以下是golang語言配置爬蟲代理代碼demo :package mainimport ("net
    發(fā)表于 09-09 17:41

    簡答幾步搭建golang 1.5開發(fā)環(huán)境

    由于在arm linux上,golang沒有提供編譯好的二進制可執(zhí)行文件,需要自己編譯一下。golang已經(jīng)發(fā)展到1.5版,從這版開始,所有的東西都是用golang 編譯出來的,包括編譯器。所以要
    發(fā)表于 07-07 10:23

    如何在Golang中實現(xiàn)反向代理

    【導(dǎo)讀】在本文中,我們將了解反向代理,它的應(yīng)用場景以及如何在 Golang 中實現(xiàn)它。 反向代理是位于 Web 服務(wù)器前面并將客戶端(例如 Web 瀏覽器)的請求轉(zhuǎn)發(fā)到 Web 服務(wù)器的服務(wù)器。它們
    的頭像 發(fā)表于 08-23 10:22 ?2158次閱讀

    Linux中如何用vim做golang開發(fā)環(huán)境

    vim 做 golang 開發(fā)環(huán)境,多么炫酷!還沒嘗試過用 vim 做開發(fā)環(huán)境的同學(xué)可以跟著這篇文檔把環(huán)境搭建起來了! 準備條件,是已經(jīng)安裝好 golang 環(huán)境,還需要把 golang 的環(huán)境變量
    的頭像 發(fā)表于 10-08 17:20 ?1574次閱讀

    http代理概述及代碼實現(xiàn)方法

    本文詳細介紹了Golang 實現(xiàn) http 代理的實現(xiàn),在實際業(yè)務(wù)中有需求的同學(xué)可以學(xué)起來了!
    的頭像 發(fā)表于 05-14 15:02 ?4048次閱讀

    初探Golang內(nèi)聯(lián)

    今天我們來聊聊 Golang 中的內(nèi)聯(lián)。
    的頭像 發(fā)表于 12-13 09:51 ?941次閱讀

    GoLang的安裝和使用

    GoLang的安裝和使用
    的頭像 發(fā)表于 01-13 14:06 ?1275次閱讀
    <b class='flag-5'>GoLang</b>的安裝和使用

    Golang實現(xiàn)一個簡單的http代理

    本文詳細介紹了Golang 實現(xiàn) http 代理的實現(xiàn),在實際業(yè)務(wù)中有需求的同學(xué)可以學(xué)起來了!
    的頭像 發(fā)表于 04-10 11:29 ?1447次閱讀

    一個快速應(yīng)用程序開發(fā)(RAD)工具(Golang版)

    SNMPAgent Builder(Golang版)是一個快速應(yīng)用程序開發(fā)(RAD)工具,用于基于Golang 的 SNMP代理開發(fā)。提供了一個直觀的圖形用戶界面,用于自動執(zhí)行各種SNMP
    的頭像 發(fā)表于 04-13 09:30 ?1542次閱讀

    【芒果派MangoPi MQ Quad】使用Golang點燈

    使用Golang在芒果派上點燈
    的頭像 發(fā)表于 07-21 14:44 ?698次閱讀
    【芒果派MangoPi MQ Quad】使用<b class='flag-5'>Golang</b>點燈

    鴻蒙OpenHarmony:【配置代理

    新建代理配置文件。
    的頭像 發(fā)表于 04-29 22:17 ?821次閱讀
    鴻蒙OpenHarmony:【<b class='flag-5'>配置</b><b class='flag-5'>代理</b>】
    主站蜘蛛池模板: 欧美性猛交xxxx| 福利视频一区二区三区| 亚洲一区二区色| 免费中国一级啪啪片| 天天舔天天射天天操| 91人成网站色www免费| 色婷婷色丁香| 亚洲理论视频| 亚洲一区二区三区免费| 日本xxxxx黄区免费看动漫| 亚色在线| 欧美 亚洲 国产 丝袜 在线| 欧美一区二区三区大片| 天天插伊人| 福利一区二区在线观看| 激情文学综合丁香| 26uuu另类亚洲欧美日本一| 国产午夜精品理论片| 在线播放国产一区| 国产美女特级嫩嫩嫩bbb| 国产精品美女久久久久网| 日本在线视频不卡| 美女黄页在线观看| 精品一区二区三区18| 五月婷婷色丁香| 午夜影网| 国产一区国产二区国产三区| 韩国电影天堂| 黄色网址网站在线观看| 欧美18性精品| 成年女人色费视频免费| 色99在线| 免费在线观看理论片| 性欧美xxxx乳高跟| 天天曰夜夜操| 亚洲高清美女一区二区三区| www色午夜| 女人aaaaa片一级一毛片 | 天天躁天天狠天天透| 国模欢欢炮交啪啪150| 成人欧美一区二区三区视频不卡|