ubuntu安装golang并设置goproxy

news/2024/10/18 13:56:09 标签: ubuntu, golang, linux

在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.niftyadmin.cn/n/5711277.html

相关文章

WorkFlow GO-Task 源码分析

WorkFlow GO-Task 源码分析 前言 任何好的框架的设计都是围绕着一个核心思想去展开&#xff0c;sylar的一切皆协程、muduo的one loop per thread等。一切皆是任务流就是workflow的精髓。&#xff08;PS&#xff0c;目前作者功力尚浅&#xff0c;许多设计细节还未能悟透其用意…

计算机视觉——人像的分割与无缝融合

1.概述 新加坡现代汽车集团创新中心的一篇新论文提供了一种在计算机视觉中分离“融合”人像的方法——在这些情况下&#xff0c;对象识别框架发现一个人在某种程度上与另一个人“太接近”&#xff08;例如例如“拥抱”动作或“站在后面”的姿势&#xff09;&#xff0c;并且无法…

STM32F407ZGT6驱动SHT20获取温湿度

目录 一、SHT20 温湿度传感器1、SHT20 的 I2C 地址2、SHT20 的指令集3、启动传感器4、主机/非主机模式①、主机模式下通信时序②、非主机模式下通信时序 5、软复位6、用户寄存器&#xff08;User Register&#xff09;7、SHT20 分辨率8、CRC 校验和9、原始数据转换 二、硬件设计…

一次彻底讲清如何处理mysql 的死锁问题

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁&#xff0c;从而导致所有事务都无法继续执行的现象。在 InnoDB 存储引擎中&#xff0c;死锁是通过锁机制产生的&#xff0c;特别是在并发较高、业务逻辑复杂的情况下&#xff0c;更容易发生死锁。 一、MySQL 死锁的成因 M…

优化SpringBoot接口:异步处理提升系统吞吐量策略

作者介绍&#xff1a;✌️大厂全栈码农|毕设实战开发&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 推荐订阅精彩专栏 &#x1f447;&#x1f3fb; 避免错过下次更新 Springboot项目精选实战案例 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c…

深度解读 MySQL 8.0 数据字典重构:源码解析与实践

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云/阿里云/华为云/51CTO&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互…

线性可分支持向量机的原理推导 线性分隔超平面关于任意样本点 (x_i,y_i)的函数间隔 公式解析

本文是将文章《线性可分支持向量机的原理推导》中的公式单独拿出来做一个详细的解析&#xff0c;便于初学者更好的理解。 公式 9-1 用来表达训练集样本点 ( x i , y i ) (\mathbf{x}_i, y_i) (xi​,yi​) 到线性可分支持向量机分离超平面的距离。 d ^ i y i ( w ⋅ x i b )…

【进阶OpenCV】 (18)-- Dlib库 --人脸关键点定位

文章目录 人脸关键点定位一、作用二、原理三、代码实现1. 构造人脸检测器2. 载入模型&#xff08;加载预测器&#xff09;3. 获取关键点4. 显示图像5. 完整代码 总结 人脸关键点定位 在dlib库中&#xff0c;有shape_predictor_68_face_landmarks.dat预测器&#xff0c;这是一个…