当前位置: 首页 > article >正文

ubuntu安装golang并设置goproxy

在Ubuntu上安装Go语言(Golang)通常有几种方法,以下是一些常见的安装步骤:

方法一:使用包管理器安装

  1. 更新包列表

    sudo apt update
    
  2. 安装Go

    sudo apt install golang-go
    
  3. 验证安装

    go version
    

方法二:从源代码编译安装

  1. 安装依赖

    sudo apt install -y git mercurial
    
  2. 下载Go源代码

    git clone https://go.googlesource.com/go
    
  3. 编译安装Go

    cd go/src
    ./all.bash
    
  4. 设置环境变量
    将以下内容添加到你的~/.bashrc~/.profile文件中:

    export GOROOT=/home/yourusername/go
    export PATH=$PATH:$GOROOT/bin
    

    替换yourusername为你的用户名,并重新加载配置文件:

    source ~/.bashrc
    
  5. 验证安装

    go version
    

方法三:使用版本管理工具安装(如gvm)

  1. 安装GVM

    bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
    
  2. 安装Go

    gvm install go1.18.3 # 替换为你需要的版本
    gvm use go1.18.3
    
  3. 验证安装

    go version
    

注意事项

  • 安装完成后,确保将GOPATH环境变量设置到你的系统路径中,这是Go语言工作区的路径。
  • 你可以使用go get命令来安装第三方库。

请根据你的Ubuntu版本和个人偏好选择合适的安装方法。如果你需要安装特定版本的Go,可能需要查找该版本的特定安装命令。

要在Ubuntu系统中设置Go代理(goproxy),你可以按照以下步骤操作:

  1. 启用Go Modules功能
    对于Go 1.13及以上版本,你需要启用Go Modules功能。可以通过以下命令设置环境变量GO111MODULE

    go env -w GO111MODULE=on
    
  2. 配置GOPROXY环境变量
    你可以选择使用不同的Go代理服务。以下是一些常用的Go代理服务及其配置方法:

    • 官方Go代理(推荐):

      go env -w GOPROXY=https://goproxy.io,direct
      

      这将设置Go代理为官方的Go代理服务,该服务提供了全球CDN加速,并且支持官方sumdb。

    • 阿里云Go代理

      go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
      

      阿里云提供的Go代理服务,适用于中国大陆地区,可以提供较快的下载速度。

    • 七牛云Go代理

      go env -w GOPROXY=https://goproxy.cn,direct
      

      七牛云提供的Go代理服务,同样适用于中国大陆地区,提供了极速下载和无带宽限制的特点。

  3. 使配置长久生效
    如果你希望这些设置长期有效,可以将上述命令添加到你的shell配置文件中,例如~/.bashrc~/.profile

    echo "export GO111MODULE=on" >> ~/.bashrc
    echo "export GOPROXY=https://goproxy.io,direct" >> ~/.bashrc
    source ~/.bashrc
    

    请根据你使用的shell类型(如bash, zsh等)选择正确的配置文件。

  4. 验证配置
    设置完成后,你可以通过以下命令来验证GOPROXY是否已经正确设置:

    go env | grep GOPROXY
    

    如果输出显示了你设置的代理地址,那么配置就成功了。

通过以上步骤,你就可以在Ubuntu系统中成功设置Go代理,从而加速Go依赖包的下载。


http://www.kler.cn/news/360164.html

相关文章:

  • Z 字形变换(6)
  • bug的定义和测试
  • 【功能安全】 独立于环境的安全要素SEooC
  • Unity3D功耗和发热分析与优化详解
  • 如何利用动态IP进行数据采集?
  • AI学习指南深度学习篇-迁移学习的数学原理
  • 【趣学C语言和数据结构100例】
  • skywalking本地测试
  • 从0开始linux(16)——进程(7)进程结束
  • SSM框架实战小项目:打造高效用户管理系统 day2
  • c++初阶--string类(使用)
  • Qt-network (TCP UDP)
  • SSH流量秒变HTTPS —— 筑梦之路
  • Redis底层和缓存雪崩,击穿,穿透
  • 多线程——单例模式
  • 微信小程序/uniapp动态修改tabBar信息及常见报错
  • 全天候风险平价策略下载 | Quantlab AI v0.2:OpenAI的Swarm适配国内大模型(附python代码下载)
  • 多线程实战:从循环打印ABC到单例模式线程池
  • Gooxi打造AI时代算力底座,赋能智慧安防
  • 自由学习记录(12)