Golang安装及golang.org包的安装

本文介绍了Golang的安装方法,包括从官方国内版网站下载二进制包、通过包管理器安装以及源码编译安装。针对golang.org包的访问问题,提出了通过GitHub源码下载和设置GOPROXY代理服务两种解决方案,详细讲解了这两种方法的实施步骤,并提到了常用的代理服务地址。

Golang安装

Golang官网提供了各平台的二进制包,可直接下载并安装。由于某种不可抗力,golang.org被屏蔽无法直接访问,但可以通过官方提供的国内版官网golang.google.cn进行下载。

除了直接通过二进制包安装外,也可通过包管理器安装。如在Ubuntu中使用apt-get install golang,或在MacOS中使用brew install go下载安装。

另外,也可通过官网或GitHub下载源码后编译安装,可参考官方提供的源码安装文档

非预装官方包

在使用Go时,除了Go标准库以外,Google还提供了一些扩展包,但不包括在二进制安装包中,需要另外使用go get命令进行安装。例如在VSCode中安装Golang相关扩展插件时需要安装一些第三方包,而它们大多会使用到官方提供的非预装扩展包。官方非预装扩展包的命名以为golang.org/x/开头,例如golang.org/x/tools,下面列出了各官方非预装扩展包及其用途:

  • benchmarks:性能测试支持
  • blog:blog.golang.org源码实现
  • build:build.golang.org源码实现
  • crypto:额外的密码学支持
  • debug:实验性的Go debugger
  • image:额外的图像支持
  • mobile:移动端支持
  • net:额外的网络支持
  • perf:性能分析工具
  • pkgsite:pkg.go.dev源码实现
  • review:Gerrit代码review工具支持
  • sync:额外的并发支持
  • sys:系统调用支持
  • text:文本处理支持
  • time:额外的时间相关支持
  • tools:godoc、goimports等工具
  • tour:tour.golang.org源码实现
  • exp:实验性以及落后的特性

golang.org包的安装

由于golang.org以及google.golang.org在国内无法访问,为了安装这些包,可以通过GitHub下载源码进行安装或在Go13及以上版本中通过设置GOPROXY进行安装:

通过GitHub下载源码安装

golang.org包在GitHub上有对应的镜像,例如golang.org/x/tools包对应的GitHub镜像为https://github.com/golang/toolsgoogle.golang.org/grpc包对应的镜像为https://github.com/grpc/grpc-go

在对应的镜像中下载源码后,需要将其放置于GOPATH环境变量指定的目录下。例如下载golang.org/x/tools包后,需要将其移动到$GOPATH/src/golang.org/x/tools目录中。

下面以golang.org/x/image为例演示如何进行安装:

# 下载源码,使用--depth=1只克隆最后一次commit
$ git clone https://github.com/golang/image.git --depth=1
$ mkdir -p $GOPATH/src/golang.org/x
$ mv image $GOPATH/src/golang.org/x

通过GOPROXY设置代理服务安装(推荐)

Go11加入了go module包依赖管理工具,并增加了GOPROXY环境变量设置代理服务。设置该环境变量后,使用go get下载包时将通过设置的代理地址下载。当前可使用的代理服务有https://goproxy.io、阿里云的https://mirrors.aliyun.com/goproxy/等,可根据需求选择。

在使用GOPROXY之前需要开启go module,开启go module的方式为设置GO111MODULE环境变量的值为on

$ export GO111MODULE="on"

若使用Go13及以上版本,可使用下面的命令设置代理服务:

$ go env -w GOPROXY="<proxy>,direct"

若使用Go11或Go12,需要使用下面的命令设置:

$ export GOPROXY="<proxy>"

使用export命令只会在本次登陆中有效,若需要长期有效需要将其写入profile文件中(例如Bash的.bash_profile或zsh的.zshrc)。

在Windows中可通过下面的命令设置:

$env:GOPROXY="<proxy>"

在使用命令时,需要将命令中的<proxy>替换为对应代理服务的地址。在设置GOPROXY后,就可正常使用go get命令下载安装golang.org包。

参考资料

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值