목차
문제 설명
解决方式
手动下载
设置代理
go mod replace
GOPROXY 环境变量
수동 다운로드
프록시 설정
go mod 교체
GOPROXY 환경 변수
백엔드 개발 Golang golang.org/x 패키지를 다운로드하여 실패한 문제를 빠르게 해결하세요.

golang.org/x 패키지를 다운로드하여 실패한 문제를 빠르게 해결하세요.

Dec 02, 2021 pm 02:42 PM
get golang google

이 글은 go 언어 튜토리얼 칼럼에서 한 번의 클릭으로 go get golang.org/x 패키지 실패 문제를 해결하는 방법을 소개하기 위해 작성되었습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

golang.org/x 패키지 실패를 가져오는 원클릭 솔루션

문제 설명

go get, go install, go를 사용할 때 mod 및 기타 명령을 실행하면 해당 패키지 또는 종속 패키지가 자동으로 다운로드됩니다. 그러나 잘 알려진 이유로 인해 <code>golang.org/x/...와 유사한 패키지는 다운로드에 실패합니다. 아래와 같이: go getgo installgo mod 等命令时,会自动下载相应的包或依赖包。但由于众所周知的原因,类似于 golang.org/x/... 的包会出现下载失败的情况。如下所示:

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

go get golang.org/x/sys: unrecognized import path "golang.org/x/sys" (https fetch: Get https://golang.org/x/sys?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
로그인 후 복사

解决方式

那我们该如何解决问题呢?毕竟还要制造 bug 的嘛~

手动下载

我们常见的 golang.org/x/... 包,一般在 GitHub 上都有官方的镜像仓库对应。比如 golang.org/x/text 对应 github.com/golang/text。所以,我们可以手动下载或 clone 对应的 GitHub 仓库到指定的目录下。

mkdir $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x
git clone git@github.com:golang/text.git
rm -rf text/.git
로그인 후 복사

当如果需要指定版本的时候,该方法就无解了,因为 GitHub 上的镜像仓库多数都没有 tag。并且,手动嘛,程序员怎么能干呢,尤其是依赖的依赖,太多了。

设置代理

如果你有代理,那么可以设置对应的环境变量:

export http_proxy=http://proxyAddress:port
export https_proxy=http://proxyAddress:port
로그인 후 복사

或者,直接用 all_proxy

export all_proxy=http://proxyAddress:port
로그인 후 복사

go mod replace

从 Go 1.11 版本开始,新增支持了 go modules 用于解决包依赖管理问题。该工具提供了 replace,就是为了解决包的别名问题,也能替我们解决 golang.org/x 无法下载的的问题。

go module 被集成到原生的 go mod 命令中,但是如果你的代码库在 $GOPATH 中,module 功能是默认不会开启的,想要开启也非常简单,通过一个环境变量即可开启 export GO111MODULE=on

以下为参考示例:

module example.com/hello

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

replace (
    golang.org/x/text => github.com/golang/text v0.3.0
)
로그인 후 복사

类似的还有 glide、gopm 等这类第三方包管理工具,都不同方式的解决方案提供给我们。

GOPROXY 环境变量

终于到了本文的终极大杀器 —— GOPROXY

我们知道从 Go 1.11 版本开始,官方支持了 go module 包依赖管理工具。

其实还新增了 GOPROXY 环境变量。如果设置了该变量,下载源代码时将会通过这个环境变量设置的代理地址,而不再是以前的直接从代码库下载。这无疑对我等无法科学上网的开发良民来说是最大的福音。

更可喜的是,goproxy.io 这个开源项目帮我们实现好了我们想要的。该项目允许开发者一键构建自己的 GOPROXY 代理服务。同时,也提供了公用的代理服务 https://goproxy.io,我们只需设置该环境变量即可正常下载被墙的源码包了:

export GOPROXY=https://goproxy.io
로그인 후 복사

不过,需要依赖于 go module 功能。可通过 export GO111MODULE=on 开启 MODULE。

如果项目不在 GOPATH 中,则无法使用 go get ...,但可以使用 go mod ... 相关命令。

也可以通过置空这个环境变量来关闭,export GOPROXY=

对于 Windows 用户,可以在 PowerShell 中设置:

$env:GOPROXY = "https://goproxy.io"
로그인 후 복사

最后,我们当然推荐使用 GOPROXYrrreeeSolution

그렇다면 어떻게 문제를 해결할 수 있을까요? 결국 여전히 버그가 있습니다~

수동 다운로드

우리의 일반적인 golang.org/x/... 패키지에는 일반적으로 GitHub의 공식 미러 저장소가 있습니다. 예를 들어 golang.org/x/textgithub.com/golang/text에 해당합니다. 따라서 해당 GitHub 저장소를 지정된 디렉터리에 수동으로 다운로드하거나 복제할 수 있습니다.
rrreee🎜버전을 지정해야 할 때 이 방법은 해결책이 없습니다. GitHub의 미러 웨어하우스 대부분에는 태그가 없기 때문입니다. 더욱이, 특히 종속성이 너무 많기 때문에 프로그래머가 어떻게 수동으로 이를 수행할 수 있습니까? 🎜

프록시 설정

🎜 🎜프록시가 있는 경우🎜 해당 환경 변수를 설정할 수 있습니다: 🎜rrreee🎜 또는 all_proxy를 직접 사용: 🎜rrreee

go mod 교체

🎜Go 버전 1.11부터 패키지 종속성 관리 문제를 해결하기 위해 go 모듈이 새롭게 지원됩니다. 이 도구는 패키지 별칭 문제를 해결하기 위해 replace를 제공합니다. golang.org/x를 다운로드할 수 없는 문제도 해결할 수 있습니다. 🎜🎜go 모듈은 기본 go mod 명령에 통합되어 있지만 코드 베이스가 $GOPATH에 있는 경우 모듈 code> 이 기능은 기본적으로 활성화되어 있지 않습니다. 활성화하는 방법은 매우 간단합니다. <code>export GO111MODULE=on 환경 변수를 통해 활성화할 수 있습니다. 🎜🎜다음은 참조 예입니다. 🎜rrreee🎜마찬가지로 다양한 솔루션을 제공하는 glide 및 gopm과 같은 타사 패키지 관리 도구가 있습니다. 🎜

GOPROXY 환경 변수

🎜드디어 이 기사의 궁극적인 킬러인 🎜GOPROXY🎜에 도달했습니다. 🎜🎜 Go 1.11 버전부터 go 모듈 패키지 종속성 관리 도구가 공식적으로 지원되는 것으로 알고 있습니다. 🎜🎜사실 GOPROXY 환경 변수도 추가되었습니다. 이 변수를 설정하면 이전처럼 코드 라이브러리에서 직접 다운로드하지 않고, 이 환경 변수에 설정된 프록시 주소를 통해 소스 코드를 다운로드하게 됩니다. 이는 과학적으로 인터넷에 접근할 수 없는 우리 같은 개발자에게는 의심할 여지 없이 가장 좋은 소식입니다. 🎜🎜더욱 기쁜 점은 오픈 소스 프로젝트 goproxy.io가 우리가 원하는 것을 달성하는 데 도움이 된다는 것입니다. 이 프로젝트를 통해 개발자는 클릭 한 번으로 자신만의 GOPROXY 프록시 서비스를 구축할 수 있습니다. 동시에 공개 프록시 서비스 https://goproxy.io도 제공됩니다. 차단된 소스 코드 패키지를 정상적으로 다운로드하려면 이 환경 변수만 설정하면 됩니다. 🎜rrreee🎜그러나 🎜 go 모듈 함수 🎜에 종속성이 필요합니다. MODULE은 export GO111MODULE=on을 통해 켤 수 있습니다. 🎜🎜프로젝트가 GOPATH에 없으면 go get...을 사용할 수 없지만 관련 go mod...를 사용할 수 있습니다. 명령. 🎜🎜이 환경 변수를 공백으로 설정하여 export GOPROXY=를 끌 수도 있습니다. 🎜🎜Windows 사용자의 경우 PowerShell에서 설정할 수 있습니다. 🎜rrreee🎜마지막으로 🎜Go 버전 > 1.11🎜. 🎜🎜마지막으로 Qiniu는 국내 사용자가 액세스할 수 없는 패키지에 더 빠르게 액세스할 수 있도록 국내 프록시 goproxy.cn도 출시했습니다. 이는 정말 양심적인 일입니다. 🎜🎜

위 내용은 golang.org/x 패키지를 다운로드하여 실패한 문제를 빠르게 해결하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Google Pixel 9 Pro XL은 데스크톱 모드로 테스트되었습니다. Google Pixel 9 Pro XL은 데스크톱 모드로 테스트되었습니다. Aug 29, 2024 pm 01:09 PM

Google은 Pixel 8 시리즈에 DisplayPort 대체 모드를 도입했으며 새로 출시된 Pixel 9 라인업에 포함되어 있습니다. 주로 연결된 화면으로 스마트폰 디스플레이를 미러링할 수 있도록 하기 위해 존재하지만 데스크탑에서도 사용할 수 있습니다.

Pixel 9 Pro XL의 Google Tensor G4는 원신에서 Tensor G2보다 뒤떨어집니다. Pixel 9 Pro XL의 Google Tensor G4는 원신에서 Tensor G2보다 뒤떨어집니다. Aug 24, 2024 am 06:43 AM

Google은 최근 Pixel 9 라인의 Tensor G4에 대한 성능 문제에 대응했습니다. 회사는 SoC가 벤치마크를 이길 수 있도록 설계되지 않았다고 말했습니다. 대신 팀은 Google이 C를 원하는 영역에서 좋은 성능을 발휘하도록 집중했습니다.

Google Pixel 9 스마트폰은 7년 업데이트 약속에도 불구하고 Android 15와 함께 출시되지 않습니다. Google Pixel 9 스마트폰은 7년 업데이트 약속에도 불구하고 Android 15와 함께 출시되지 않습니다. Aug 01, 2024 pm 02:56 PM

Pixel 9 시리즈는 8월 13일 출시로 예정되어 거의 다가왔습니다. 최근 소문에 따르면 Pixel 9, Pixel 9 Pro 및 Pixel 9 Pro XL은 128GB의 스토리지부터 시작하여 Pixel 8 및 Pixel 8 Pro(Amazon에서 현재 $749)를 미러링할 예정입니다.

새로운 Google Pixel 데스크탑 모드는 Motorola Ready For 및 Samsung DeX 대안으로 신선한 비디오로 선보였습니다. 새로운 Google Pixel 데스크탑 모드는 Motorola Ready For 및 Samsung DeX 대안으로 신선한 비디오로 선보였습니다. Aug 08, 2024 pm 03:05 PM

Android Authority가 Google이 Android 14 QPR3 베타 2.1에 숨겨둔 새로운 Android 데스크톱 모드를 시연한 지 몇 달이 지났습니다. Pixel 8 및 Pixel 8에 대한 DisplayPort Alt 모드 지원을 추가하는 Google의 뒤를 이어 뜨거워졌습니다.

Google은 대부분의 사용자에게 AI Test Kitchen 및 Imagen 3를 공개합니다. Google은 대부분의 사용자에게 AI Test Kitchen 및 Imagen 3를 공개합니다. Sep 12, 2024 pm 12:17 PM

사용자가 가지고 놀 수 있는 AI 디자인 도구 모음이 포함된 Google의 AI 테스트 키친은 이제 전 세계 100개가 넘는 국가의 사용자에게 공개되었습니다. 이번 움직임은 전 세계 많은 사람들이 Imagen 3, Googl을 사용할 수 있게 된 최초의 사례입니다.

Google의 새로운 Chromecast 'TV Streamer\'가 이더넷 및 스레드 연결 기능을 탑재하여 출시될 것이라는 소문이 있습니다. Google의 새로운 Chromecast 'TV Streamer\'가 이더넷 및 스레드 연결 기능을 탑재하여 출시될 것이라는 소문이 있습니다. Aug 01, 2024 am 10:21 AM

Google은 새로운 하드웨어를 완전히 공개하기까지 대략 2주 정도 남았습니다. 늘 그렇듯이 수많은 소스에서 Pixel Watch 3, Pixel Buds Pro 2, Pixel 9 스마트폰 등 새로운 Pixel 기기에 대한 세부 정보가 유출되었습니다. 회사에서도 그런 것 같다.

Google Pixel 9 Pro XL, DxOMark의 '글로벌' 스마트폰 카메라 순위에서 2위 Google Pixel 9 Pro XL, DxOMark의 '글로벌' 스마트폰 카메라 순위에서 2위 Aug 23, 2024 am 06:42 AM

Google의 새로운 Pixel 9 시리즈에는 이전 라인업인 Pixel 9 Pro XL에 없었던 새로운 변형이 도입되었습니다. 본질적으로 XL이 아닌 변형(Amazon에서 사전 주문)과 동일하지만 이름에서 알 수 있듯이 화면이 더 큽니다. 두 전자

Pixel 9 Pro XL과 iPhone 15 Pro Max 카메라 비교를 통해 동영상 및 줌 성능에서 놀라운 Google의 승리를 알 수 있습니다. Pixel 9 Pro XL과 iPhone 15 Pro Max 카메라 비교를 통해 동영상 및 줌 성능에서 놀라운 Google의 승리를 알 수 있습니다. Aug 24, 2024 pm 12:32 PM

Google Pixel 9 Pro 및 Pro XL은 Samsung Galaxy S24 Ultra, Apple iPhone 15 Pro 및 Pro Max에 대한 Google의 답변입니다. YouTube의 Daniel Sin(아래 보기)은 Google Pixel 9 Pro XL을 iPhone 15 Pro Max와 비교했습니다.

See all articles