惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
Martin Fowler
Martin Fowler
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
C
Check Point Blog
H
Help Net Security
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
P
Proofpoint News Feed
V
Visual Studio Blog
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Vercel News
Vercel News
S
SegmentFault 最新的问题
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
博客园_首页
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏

博客园 - 夏之夜

Linux 学习笔记之(十四)二进制分析工具 GO 学习笔记之四 工具(1)远程调试工具 dlv Shell命令集锦(一) Postgres 数据库(三)常见DDL命令 elasticsearch 学习笔记之五 备份还原开源方案比较 elasticsearch 学习笔记之四 快照 GO 学习笔记之零 (四)字符串处理集锦 GO 学习笔记之零 (三)常见问题处理集锦 GO 学习笔记之三 基础语法(5) 切片 GO 学习笔记之三 基础语法(12)文件操作 GO 学习笔记之五 编程(三)单元测试 ( VSCODE工具运行 ) GO 学习笔记之三 基础语法(11) 数据类型转换 GO 学习笔记之零 (二)git 操作(VSCODE) GO 学习笔记之零 (一)GO推荐的工程目录结构 Git 学习笔记之(六)windows 上 git 工具 安装 GO 学习笔记之二 常用命令集锦 elasticsearch 学习笔记之一 elasticdump elasticsearch 学习笔记之二 常见接口 专题(二十) cut
GO 学习笔记之一 环境安装
夏之夜 · 2025-04-18 · via 博客园 - 夏之夜

一、背景

     任何运行 go 程序的服务器中必须存在 go 运行环境,本篇指导说明如何使用已有的官方安装包安装go运行环境 以及 如何从go源码中安装 go 运行环境。

二、安装

安装包网址:All releases - The Go Programming Language

可以看到:

  •  源码
  • linux环境下的安装包
  • windows环境下的安装包

1、安装包安装go运行环境

1.1 windows 环境安装 go 运行环境

1)从下载网站上下载 msi 格式的安装包,示例为:go1.23.3.windows-amd64.msi

2)双机 go1.23.3.windows-amd64.msi,一直点击 下一步

3)配置环境环境变量(win10为例)

  • 运行-搜索“环境”-“编辑账户的环境变量”,点击“打开”

  • “环境变量”弹框中 在用户变量中 如果已经存在 “GOROOT”变量,则双击它,修改值,值为GO安装路径。然后点击“PATH” 将 go 安装路径/bin 添加进去,如下图:

  •    环境变量中 还需要 添加 GOPATH,该值为go 所有工程所在总目录

如果不将 GOPATH 和 GOROOT值设置不同的,则后续执行命令会一直报警告

  • 验证GO是否安装好。 搜索运行,点击打开

  • 输入 go version

  • 输入 go env 可以看到 go 自己的变量信息

  • 修改 go 变量
    • 开启模块管理

    • 设置 go仓库

       这个值可以设置成  https://goproxy.cn,direct   国内代理地址

1.2 linux 环境安装 go 运行环境

1.2.1 下载安装包

 下载 go 1.24.2.linux-arm64.tar.gz 版本

1.2.2 安装

  • 将压缩包上传到服务器上,本文章放在 /opt/go 下
  • tar -zxvf 命令进行解压缩,解压之后 bin 在 /opt/go/go 目录下

  • 设置环境变量
    • echo $PATH  检查当前环境变量的内容
    • vi /etc/profile  编辑环境变量文件,在末尾增加 export PATH=/opt/go/go/bin
    • source /etc/profile 环境变量永久生效
    • echo $PATH  再次进行查看,发现已经存在的环境变量了

    • go version 验证 go 环境是否安装成功

  • 设置 go env 环境变量
    • go env  查看 go 的所有环境变量,可以看到  GO111MODULE\GO PATH

    • go env -w GO111MODULE='on' GOPATH='/opt/go/ws'    修改多个环境变量
    • go  env 可以查看修改后的环境变量

2、源码安装go运行环境

三、go env 环境变量说明

  • GOROOT:这是 Go 语言的安装目录,包含了 Go 的标准库、工具链等核心组件。默认情况下,当你安装 Go 语言时,GOROOT 会被设置为 Go 的安装路径。
  • GOPATH:这是 Go 语言的工作区目录,用于存放你的 Go 项目、依赖包等。在 Go 1.11 及之前的版本中,GOPATH 是必须的,用于解析导入路径。从 Go 1.13 开始,Go 引入了模块支持,允许你在项目级别管理依赖,但仍然兼容 GOPATH 模式。
  • GO111MODULE:
  • GOPROXY:

注意:

1)GOROOT与GOPATH不能设置成一样的

  • 将 GOPATH 设置为 GOROOT(如 d:\program files\go)会导致 Go 语言的工具链(如 go buildgo run 等)在错误的位置查找你的项目和依赖。这通常会导致编译错误或无法找到依赖包的问题。
  • GOROOT 是 Go 语言的安装目录,它包含了 Go 的标准库和编译器等工具,而不是你的工作项目或第三方依赖。

四、安装GO开发工具

1、安装 VSCODE 工具

1.1 下载

下载网址 Visual Studio Code - Code Editing. Redefined

   点击“Download for Windows”,即可进行下载,成果物为:VSCodeUserSetup-x64-1.95.3.exe

1.2 安装

  双机 VSCodeUserSetup-x64-1.95.3.exe,一直点击 下一步,开始安装

1.3 安装GO插件

1) 打开 VSCODE 工具

2)点击 “extensions” 图标,搜索“GO”插件,点击 install,安装 GO 插件

1.4 手动创建第一个go工程(hello world工程)

1)创建 go 工程目录,如:E:\gowork\src\hello  ,其中 hello 是 工程名,E:\gowork\src\ 是存放所有 go 工程的总目录

2)从 VSCODE 工具中打开 创建的 hello 文件夹

  •   点击 工具左侧 第一个图标  ----   点击 Open Floder

  •  选择 这个 Hello 工程,然后 右下角 “TERMINAL” 中输入 go mod init hello  (图中命令有误)

3) 在 hello工程下创建 hello.go 文件  并 编辑其内容,仅输出 “hello world”

4) 运行 hello.go

  •  在 terminal 中输入  go run .\hello.go 运行

1.5 集成 git 导入项目

1)安装 git

   首先需要确保你的计算机上已经安装了Git。可以从Git官网(https://git-scm.com/)下载并安装Git  并配置好 git 账号

2)安装 git 插件

     需要安装 Git Graph、Git History、Git supercharged 插件

3)通过vscode 打开 git bash 命令行工具

输入git 命令之后,如果要退出这个命令的执行,可以使用 q

或者可以通过 查看-终端打开终端界面,然后按照上图所示打开 git bash 工具

4) 导入git项目

    导入项目可以有不同的方式,具体如下介绍

a)  gitlab 上直接打开 工程,点击 Visual Studio Code

   可以看到默认是通过 https 方式克隆到本地的

b)git bash 终端 克隆远程库代码

git clone 远程仓库地址   本地路径  -b  分支名称 --progress

  • 如果目录不配置,表示将会把url指向的仓库直接克隆到当前所在目录下
  • -b 分支名不配置的情况下,将会把主干分支的代码克隆到当前所在目录下

示例:

git clone https://sys-gitlab.xxx.com.cn/Fsdmdept/USTA/USTA-xx.git e://gowork//src//git//USTA-xxx --progress     #将 https://sys-gitlab.xxx.com.cn/Fsdmdept/USTA/USTA-xxx.git 仓库代码克隆到本地 e://gowork//src//git//USTA-apm 路径下     ----  这个是使用 https 方式

git clone git@sys-gitlab.xxx.com.cn:Fsdmdept/USTA/USTA-xxx.git e://gowork/src/git/USTA-xxx -b feature-golang-template-0.1 --progress   ----  这个是使用 git 方式

本文在实操时发现 https 的url 方式克隆会遇到问题,需要添加 ssl certificate.

使用git 法昂是 克隆结果如下

过程中碰到如下问题

  • 提示缺失“SSL certificate problem”

 5)VSCode 将克隆到本地的工程对应文件夹导入到工作区

1.6 集成SVN 导入项目

1)安装SVN插件

2)

1.7 常见插件安装

(1)Chinese (Simplified) (简体中文) Langua:将 VSCode 的用户界面翻译成简体中文;

(2)C/C++:提供 C 和 C++ 语言的集成开发环境,包括代码补全、语法高亮、智能感知、调试等功能,以便于开发者更高效地进行 C/C++ 编程;

(3)Back & Forth:代码上一步、下一步、跳转等功能插件;

(4)Git Graph:提供一个图形化的界面来展示 Git 仓库的分支结构和提交历史,方便开发者直观地理解项目历史和分支关系;

(5)Git History:允许用户通过右键菜单查看文件的 Git 提交历史,可以查看文件在不同提交中的变更;

(6)Git supercharged:增强 Git 在 VSCode 中的功能,提供更丰富的 Git 操作,如分支管理、历史比对、提交信息编辑等;

(7)koroFileHeader:自动为文件添加头部注释,支持自定义注释模板。在文件头部添加作者、创建时间、文件描述等信息,有助于代码维护;

(8)Embedded IDE:提供嵌入式系统开发的集成环境,可能包括针对特定嵌入式系统的编译器、调试器和其他工具的支持;

(9)Cody: AI Coding Assistant with Autocomplete & Chat:利用 AI 技术提供代码自动补全、聊天机器人辅助编程、自动生成代码注释等功能,以提高编程效率和代码质量;

(10)Keil Assistant:增强VSCODE在嵌入式开发方面的功能,使得开发者能在VSCODE中更方便地使用Keil uVision IDE进行嵌入式项目开发,实现代码编写、调试、项目管理等功能的集成和优化;

2、多种方式运行 GO 主程序

2.1 通过命令行运行

   可以象上个章节一样,在 terminal 终端执行 go run 命令运行,但这个可能不是我们想要的,希望可以直接通过 开发工具运行

2.2 运行 Run --> Run without Debuging

 过程中碰到如下问题:

1)下载mod cobra时,其依赖的 go-md2man 下载不下来,提示 sum 不匹配

 原因:

   这是因为 GOPROXY环境变量配置成了私有的仓库,该仓库中虽然有 这个 go 模块,但是其sum 与 cobra 模块中 go.sum 记录的 go-md2man sum不一致。因此仍然需要 给 GOPROXY 配置一个 go 全球代理 才行,这样,这个模块可以从全球代理下载而不是公司仓库下载了。

解决方法:

  •  执行 go en -w GOPROXY=https://goproxy.cn,direct  (先设置成全球代理)
  •  go get github.com/cpuguy83/go-md2man@v1.0.1  下载这个依赖模块
  • 再次执行 run without debugging ,点击右小角的 install

2) 报错“Failed to launch: Version of Delve is too old for this version of Go”

  此时 工具 会自动打开 launch.json 文件 。同时可以看到左侧工程目录下多了 .vscode 目录以及 launch.json 文件。

原因:dlv 版本过低造成

解决办法:  (从全球GO代理中下载最新的 dlv版本)

  • go env -w GOPROXY=https://goproxy.cn,direct
  • go get -u github.com/go-delve/delve/cmd/dlv@latest

这里显示最新的版本是 1.23.1版本,然后重启 vscode 工具,再点击 run 

这里显示成功运行了 hello.go

 

这里也显示 dlv 版本已经是最新的 1.23.1版本了。

3)报错提示“You don't have an extension for debugging 'Json with Comments'”,,点击第一个按钮进行安装。

解决办法:点击2)问题中自动打开的lanuch.json 文件,点击“Add Configuration”,选择 launch package

附录

1、全球 GO 代理仓库:GOPROXY.IO - 一个全球代理 为 Go 模块而生

2、