golang多版本管理工具g

news2024/9/19 10:39:14

一、golang多版本管理工具g

  一)g简介

  g是一个Linux、macOS、Windows下的命令行工具,可以提供一个便捷的多版本go环境的管理和切换

  二)g特性

  • 支持列出可供安装的go版本号
  • 支持列出已安装的go版本号
  • 支持在本地安装多个go版本
  • 支持卸载已安装的go版本
  • 支持在已安装的go版本之间自由切换

  三)安装

  1、自动化安装

  Linux/macOS(适用于bash、zsh)

# 建议安装前清空`GOROOT`、`GOBIN`等环境变量
$ wget -qO- https://raw.githubusercontent.com/voidint/g/master/install.sh | bash
$ echo "unalias g" >> ~/.bashrc # 可选。若其他程序(如'git')使用了'g'作为别名。
$ source ~/.bashrc # 或者 source ~/.zshrc

  2、手动安装
  • 下载对应平台的二进制压缩包。

  • 将压缩包解压至PATH环境变量目录下,如/usr/local/bin

  • 编辑shell环境配置文件(~/.bashrc~/.zshrc...)

$ cat>>~/.bashrc<<EOF  export GOROOT="${HOME}/.g/go"
export PATH="${HOME}/.g/go/bin:$PATH"
export G_MIRROR=https://golang.google.cn/dl/
EOF

  四)g的使用

  1、g的帮助文档
# g --help
NAME:
  g - Golang Version Manager

 USAGE:
  g  command [arguments...]

 VERSION:
  1.5.0

 AUTHOR:
  voidint <voidint@126.com>

 COMMANDS:
    ls         List installed versions
    ls-remote  List remote versions available for install
    use        Switch to specified version
    install    Download and install a version
    uninstall  Uninstall a version
    clean      Remove files from the package download directory
    self       Modify g itself
    help, h    Shows a list of commands or help for one command

 GLOBAL OPTIONS:
  --help, -h     show help (default: false)
  --version, -v  print the version (default: false)

  2、使用当前可供安装的stable状态的go版本
# g ls-remote stable
  1.19.9
  1.20.4
  3、安装指定版本的go
# 安装go1.16.15
g install 1.16.15

# 安装go1.18.10
g install 1.18.10

# 安装go1.17.13
g install 1.17.13
# go version
go version go1.17.13 linux/amd64

  6、切换go 版本
# g use 1.18.10
go version go1.18.10 linux/amd64

  

  五)技术问答

  • 环境变量G_MIRROR有什么作用?

    由于中国大陆无法自由访问Golang官网,导致查询及下载go版本都变得困难,因此可以通过该环境变量指定一个镜像站点(如https://golang.google.cn/dl/),g将从该站点查询、下载可用的go版本。

  • 支持源代码编译安装吗?

    不支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2073495.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据缓存软件Redis推出Redis 8 这更改许可证后首个重大版本更新

2024 年 3 月流行的数据库缓存应用 Redis 宣布修改开源许可证&#xff0c;此次修改许可证的目的本质上就是避免大型云计算公司白嫖&#xff0c;例如亚马逊的 AWS 等。AWS 等云计算服务商基于 Redis 推出托管服务并向客户收费&#xff0c;作为开发商 Redis 并没有获得收益&#…

还没做过电子版招生简章的老师看过来!

随着科技的不断发展&#xff0c;传统的招生简章逐渐走向数字化&#xff0c;电子版招生简章以其便捷、环保、可更新等优势&#xff0c;越来越受到各学校的青睐。如果你还不会制作电子版招生简章&#xff0c;那就赶紧来看看这篇文章吧&#xff01; 一、电子版招生简章的优势 1. …

【PHP入门教程】PHPStudy环境搭建+composer创建项目

文章目录 PHP 的历史PHP 的用途PHP 的特点和优势PHP 环境搭建环境准备安装window 安装CentOS / Ubuntu / Debian 安装 第一个Hello World使用Apache服务运行命令行运行代码 Composer安装 Composer&#xff1a;安装途中报错解决&#xff1a;初始化项目创建文件最终文件目录Compo…

记录练习reserve(强网先锋ADmingyue)

1.强网 64位无壳&#xff0c;ida拖入。 复制qiangwangxianfengjiushini到v6缓冲区&#xff0c;拷贝ZmxhZ3ttYWZha3VhaWxhaXFpYW5kYW9ifQ前36个字符(正好是36)到v5缓冲区&#xff0c;因为存在“”符号&#xff0c;应该是base64&#xff0c;下文for循环遍历v4与v5的每个字符(即解…

k8s跨节点后pod无法访问

场景 k8s在node1节点部署nginx后&#xff0c; 除node1外&#xff0c;主节点以及node2节点都无法正常访问nginx 并且主节点以及node2节点都无法ping通node1节点上的pod 网络插件为calico 并且也没有相关路由信息 解决方案 启动tunl0接口&#xff0c;因为calico需要使用tunl0网…

Wireshark_UDP_v7.0

Wireshark_UDP_v7.0 就随便在浏览器上访问点什么&#xff0c;然后抓包&#xff0c;过滤输入udp&#xff0c;然后回答问题。 本来试的哔哩哔哩视频和在线扫雷&#xff0c;emmm没有udp&#xff0c;最后还是得原神启动 source port、destination port、length、checksum source…

【力扣】地下城游戏

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ 恶魔们抓住了公…

SQLSugar入门篇:快速上手与基础概念

文章目录 前言一、框架简介二、环境搭建与安装1.net core和.net5/.net6/.net7/.net8/.net9环境2.net framework4.6 环境 三、环境搭建与安装1.对象说明2.原生模式&#xff1a;SqlSugarClient3.单例模式&#xff1a;SqlSugarScope4.多库用法5.连接参数 四、实体类映射1.实体使用…

大数据技术之Flume事务及内部原理(3)

目录 Flume Agent 架构概述 Flume Agent 内部工作流程 Flume Agent 的配置 Flume Agent内部重要组件 ChannelSelector SinkProcessor Apache Flume 是一个分布式的、可靠的、可用的服务&#xff0c;用于有效地收集、聚合和移动大量日志数据。它具有简单灵活的架构&#x…

C语言典型例题51

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 例题4.3 while循环与do……while循环的比较 代码&#xff1a; &#xff08;1&#xff09;while语句 #include <stdio.h> int main() {int sum0;// char ch;while(1){sum0;//每一次输入结束后数的和重置int …

31套科技风PPT免费分享

目录 部分展示 部分展示 #PPT下载 「科技风模板」链接&#xff1a;https://pan.quark.cn/s/fb2f39a1d343 链接永久有效&#xff0c;点击这里下载&#xff0c;记得给个赞哦

odoo17 Field 没有invisible属性?

odoo17 Field dmszhzh.zzfile.save_type 没有invisible属性 错误提示如下&#xff1a; WARNING sd0003 odoo.fields: Field dmszhzh.zzfile.save_type: unknown parameter invisible, if this is an actual parameter you may want to override the method _valid_field_par…

MSSQL 工具注入(第一关)

简介 SQL注入是一种安全漏洞&#xff0c;通过它可以执行意外的SQL命令或访问数据库中的信息。MSSQL注入通常发生在应用程序将用户输入作为SQL查询的一部分执行时&#xff0c;而没有对输入进行适当的验证或清理。 以下是MSSQL手工注入的流程&#xff1a; 一、打开靶场选择第一关…

Kafka的生产者和消费者机制

目录 1.基础的客户端 1.1消息发送者的主流程 1.2消息消费者主流程 2.客户端工作机制 2.1消费者分组消费机制 2.2生产者拦截器机制 2.3消息序列化机制 2.4消息分区路由机制 2.5生产者消息缓存机制 2.6发送应答机制 2.7生产者消息幂等性 (1)生产者消息幂等性介绍 (2…

浅谈【数据结构】链表之单链表

目录 1、什么是数据&#xff1f; 2、什么是结构 3、什么是数据结构&#xff1f; 4、线性结构(线性表&#xff09; 4.1线性表的物理结构的实现 5、链表 5.1无头结点的单链表 5.2新内容、老面孔 5.3数组和链表的优缺点 5.4链表的概念 5.5链表的创建步骤 5.5.1创建过程…

【Linux】自动化构建工具makefile

目录 背景 makefile简单编写 .PHONY makefile中常用选项 makefile的自动推导 背景 会不会写makefile&#xff0c;从一个侧面说明了一个人是否具备完成大型工程的能力 ​ ◉ 一个工程中的源文件不计数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;mak…

MyBatis框架搭建与代码解读

前言: MyBatis是一个灵活的持久层框架&#xff0c;适合与数据库交互&#xff0c;支持自定义SQL和高级映射。搭建MyBatis的基本步骤包括&#xff1a; 环境准备&#xff1a;安装JDK、Maven和IDE。创建项目&#xff1a;建立Maven项目并设置基本信息。添加依赖&#xff1a;在pom.…

「Python数据分析」Pandas进阶,利用concat()函数连接数据(一)

在我们迈向中高级出局数据分析的过程中&#xff0c;数据的合并和连接&#xff0c;是一个非常重要的技能。 现实中&#xff0c;分散在各种数据库&#xff0c;各种数据表格&#xff0c;各种数据存储设备当中的&#xff0c;各式各样的数据&#xff0c;是我们进行数据分析的基础&a…

泛微开发修炼之旅--42Ecology大日志查看软件LogView Pro及教程

我们在项目上经常要看ecology的日志信息&#xff0c;当日志达到几百兆或者时几个G的时候&#xff0c;想要查看日志并且非常方便搜索日志中的信息&#xff0c;并不容易。 今天给大家大日志工具和教程&#xff0c;在附件中&#xff0c;各位自取吧&#xff01; 文章链接&#xff…

老师如何制作分班查询系统?

随着新学期的钟声敲响&#xff0c;老师们又迎来了一年中最忙碌的时期。不仅要处理日常的教学准备工作&#xff0c;还要面对一项重要而繁琐的任务——新生分班。分班完成后&#xff0c;老师们还需要将分班结果及时准确地通知给每一位家长&#xff0c;确保信息的传递无误。这项工…