ubuntu安装golang并设置goproxy

embedded/2024/10/20 0:10:15/

在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.ppmy.cn/embedded/128857.html

相关文章

Docker consul注册中心

一、consul 1.1、什么是服务注册与发现 服务注册与发现是微服务架构中不可或缺的重要组件。 起初服务都是单节点的&#xff0c;不保障高可用性&#xff0c;也不考虑服务的压力承载&#xff0c;服务之间调用单纯的通过接口访问。 直到后来出现了多个节点的分布式架构&#x…

MySQL中FIND_IN_SET(),IN()和LIKE区别

在 MySQL 中&#xff0c; FIND_IN_SET() 和 LIKE 都可以用于字符串的匹配查找&#xff0c;但它们有以下不同&#xff1a; 一、语法及功能 1. FIND_IN_SET(str,strlist) &#xff1a; 用于在以逗号分隔的字符串列表中查找特定字符串&#xff0c;并返回其位置。如果未找到则返…

8-基于双TMS320C6678 + XC7K420T的6U CPCI Express高速数据处理平台

1、板卡概述 板卡由我公司自主研发&#xff0c;基于6UCPCI架构&#xff0c;处理板包含双片TI DSP TMS320C6678芯片&#xff1b;一片Xilinx公司FPGA XC7K420T-1FFG1156 芯片&#xff1b;六个千兆网口&#xff08;FPGA两个&#xff0c;DSP四个&#xff09;&#xff1b;DSP与FPGA之…

浮动练习(1)

要求呈现图案&#xff1a;法一&#xff1a;不建议 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title> </title><style>div:nth-child(1){width: 100px;height: 100px;background-color: aqua ;float: left;}div:…

使用 Git LFS(大文件存储)

Git LFS&#xff08;Large File Storage&#xff09;是一种扩展 Git 的工具&#xff0c;旨在更有效地管理大文件的版本控制。它通过将大文件的内容存储在 Git 之外来解决 Git 在处理大文件时的性能问题。 主要特点 替代存储&#xff1a;Git LFS 不直接将大文件存储在 Git 仓库…

网络学习笔记

一、网络的结构与功能 网络的鲁棒性与抗毁性 如果在移走少量节点后网络中的绝大部分节点仍然是连通的&#xff0c;那么就该网络的连通性对节点故障具有鲁棒性 网络上的动力学 动力系统&#xff1a;自旋、振子或混沌的同步、可激发系统 传播过程&#xff1a;信息传播与拥堵…

CPP-TCP80优化

CPP-TCP80优化 调整场景&#xff1a;(无法弹出认证界面或弹出慢&#xff09; 其中判断是否需要调整的方法如下&#xff1a;高峰期每隔20s show一次如下命令&#xff0c;查看Drop列数值是否有增加。 说明&#xff1a; web认证情况下&#xff0c;如果同时进行web重定向用户较多&…

数据结构:双向链表

一、什么是双向链表&#xff1f; 双向链表是一种链式存储结构&#xff0c;每个节点除了存储数据外&#xff0c;还包含两个指针&#xff0c;分别指向前一个节点&#xff08;prev&#xff09;和后一个节点&#xff08;next&#xff09;。这与单向链表不同&#xff0c;双向链表允…