0

0

macOS系统下安装Golang并配置环境变量的完整步骤

P粉602998670

P粉602998670

发布时间:2025-08-31 09:57:01

|

523人浏览过

|

来源于php中文网

原创

答案:安装Golang需下载官方pkg包并配置GOROOT、GOPATH和PATH环境变量。通过编辑~/.zshrc或~/.bash_profile添加export GOROOT=/usr/local/go、export GOPATH=$HOME/go、export PATH=$PATH:$GOROOT/bin:$GOPATH/bin,执行source使配置生效,最后验证go version及环境变量。

macos系统下安装golang并配置环境变量的完整步骤

macOS系统上安装Golang并妥善配置环境变量,核心在于下载官方安装包,然后通过编辑你的shell配置文件(比如

~/.zshrc
~/.bash_profile
)来定义
GOPATH
并将其可执行文件路径加入到系统的
PATH
中,确保Go命令能在任何地方被识别和执行。

安装Golang并配置环境变量,这事儿说复杂不复杂,但要做到位,确保后续开发顺畅,还是有些细节需要留意。我个人觉得,最稳妥的方式还是从官方渠道入手,一步步来。

首先,前往Golang的官方网站(golang.org/dl),找到macOS对应的安装包。通常它会是一个

.pkg
文件。下载下来后,双击运行。这个过程非常直观,就像安装任何其他macOS应用一样,一路“继续”、“同意”、“安装”下去就行。它会默认把Go安装到
/usr/local/go
这个路径下。

安装完成后,打开你的终端(Terminal)。你可以先输入

go version
来验证Go是否已经成功安装,以及它的版本号。如果一切顺利,你会看到类似
go version go1.x.x darwin/amd64
darwin/arm64
的输出。

立即学习go语言免费学习笔记(深入)”;

接下来就是环境变量的配置,这才是关键。Go语言对

GOPATH
这个概念有其独特的理解,虽然Go Modules的出现让
GOPATH
的重要性有所下降,但理解并正确配置它,对管理你的项目和依赖仍然很有帮助。

你需要编辑你的shell配置文件。对于macOS Catalina及更高版本,默认的shell是Zsh,所以你需要编辑

~/.zshrc
。如果你还在使用Bash,那么就是
~/.bash_profile
~/.bashrc

打开你选择的配置文件(例如,

nano ~/.zshrc
vim ~/.zshrc
),然后添加以下几行:

# Golang Environment Variables
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

这里面:

  • GOROOT
    指向Go语言的安装目录,通常就是
    /usr/local/go
  • GOPATH
    是你个人工作区(workspace)的根目录,所有你自己的Go项目代码、第三方库的源码以及编译后的二进制文件,默认都会放在这里。我习惯把它设在用户主目录下的
    go
    文件夹,即
    $HOME/go
    。如果你想放在别处,也可以自行修改。
  • PATH
    则是告诉系统,当你在终端输入一个命令时,去哪些目录寻找可执行文件。我们将
    $GOROOT/bin
    (Go自带的工具,如
    go
    命令本身)和
    $GOPATH/bin
    (你通过
    go install
    安装的工具或你自己项目编译出的可执行文件)添加到
    PATH
    中,这样你就能在任何目录下直接运行这些命令了。

保存并关闭文件后,为了让这些修改立即生效,你需要在终端执行

source ~/.zshrc
(或
source ~/.bash_profile
)。

最后,你可以通过

echo $GOPATH
echo $PATH
来验证环境变量是否已正确设置。为了进一步测试,你可以创建一个简单的Go程序:

// ~/go/src/hello/hello.go
package main

import "fmt"

func main() {
    fmt.Println("Hello, Go on macOS!")
}

然后在终端进入

~/go/src/hello
目录,执行
go run hello.go
,如果看到输出“Hello, Go on macOS!”,那么恭喜你,一切都配置妥当了。

为什么配置Golang的环境变量如此重要?

配置Golang的环境变量,尤其是

GOPATH
PATH
,并非可有可无的步骤,它直接关系到Go开发环境的可用性和开发效率。从我的经验来看,很多初学者在安装Go后遇到的“go command not found”或者依赖管理混乱的问题,追根溯源往往都出在环境变量上。

简单来说,

PATH
环境变量是操作系统用来寻找可执行程序的路径列表。如果你不把Go的安装路径(
$GOROOT/bin
)和你的Go工作区编译生成的可执行文件路径(
$GOPATH/bin
)添加到
PATH
中,那么当你尝试在终端输入
go
命令时,系统根本不知道去哪里找这个程序,自然就会报错。这就好比你想要打电话给一个人,但你手里根本没有他的号码簿。

GradPen论文
GradPen论文

GradPen是一款AI论文智能助手,深度融合DeepSeek,为您的学术之路保驾护航,祝您写作顺利!

下载

GOPATH
,虽然在Go Modules时代它的强制性有所减弱,但它仍然是Go生态系统中的一个核心概念,代表了你的Go工作区。它有三个子目录:

  • src
    :存放你的源代码和第三方库的源代码。
  • pkg
    :存放编译后生成的包文件。
  • bin
    :存放通过
    go install
    命令安装的可执行程序。 当你运行
    go get
    go install
    时,Go会默认将下载的源码或编译后的二进制文件放到
    GOPATH
    对应的位置。正确设置
    GOPATH
    ,能帮助你更好地组织项目结构,也方便Go工具链找到所需的依赖和生成的文件。没有它,Go工具链在某些情况下可能会“迷路”,或者你需要手动指定各种路径,这无疑会增加开发负担。所以,配置它,是为了让Go工具链能“按图索骥”,高效地完成工作。

Golang的GOPATH和PATH环境变量有什么区别?

这个问题很常见,因为它们都涉及到“路径”,容易混淆。但实际上,

GOPATH
PATH
在Go语言环境中扮演着截然不同的角色,理解它们的区别是正确配置和使用Go环境的关键。

PATH
环境变量,这是一个操作系统级别的概念,不仅仅是Go语言,任何你希望在终端直接执行的命令(比如
ls
,
git
,
python
等),都必须其可执行文件所在的目录添加到
PATH
中。它的作用是告诉你的shell,当你在命令行输入一个命令时,应该去哪些目录寻找这个命令对应的可执行文件。如果一个命令所在的目录不在
PATH
中,那么系统就无法找到并执行它,你会得到“command not found”的错误。对于Go来说,我们需要把
$GOROOT/bin
(Go安装目录下的bin文件夹,包含
go
命令本身)和
$GOPATH/bin
(你的Go工作区下编译生成的可执行文件)添加到
PATH
中,这样你才能在任何目录下运行
go
命令以及你自己编写或安装的Go工具。

GOPATH
环境变量,这是Go语言特有的一个概念。它定义了你的Go工作区的根目录。简单来说,
GOPATH
是Go语言项目和依赖的“大本营”。它通常包含三个子目录:

  • src
    :存放所有Go项目的源代码,包括你自己的项目和通过
    go get
    下载的第三方库。
  • pkg
    :存放编译后生成的包文件,这些文件是Go编译器为了加速后续编译而生成的中间产物。
  • bin
    :存放通过
    go install
    命令编译并安装的可执行程序。这些程序可以直接在命令行运行(前提是
    $GOPATH/bin
    已加入到
    PATH
    中)。

虽然Go Modules的引入,让项目不再强制必须放在

GOPATH/src
下,每个模块可以有自己的依赖管理,但
GOPATH
仍然是Go工具链默认寻找某些全局工具(例如
gopls
等语言服务器)和
go install
命令默认安装二进制文件的位置。所以,即便在使用Go Modules,设置一个合理的
GOPATH
仍然是推荐的做法。

总结来说,

PATH
是操作系统用来找“可执行程序”的,而
GOPATH
是Go语言用来找“Go代码和编译产物”的。它们协同工作,共同构建了一个功能完整的Go开发环境。

除了官方安装包,macOS上还有哪些方式可以安装Golang?

当然,除了直接从官网下载

.pkg
安装包这种最直接的方式,macOS用户还有其他几种流行的安装Golang的方法,每种都有其适用场景和优缺点。我个人最常用的是Homebrew,因为它能很好地管理各种开发工具的版本。

  1. 使用Homebrew安装 (推荐) Homebrew是macOS上一个非常流行的包管理器,它简化了软件的安装、更新和卸载过程。如果你已经是Homebrew用户,那么通过它来安装Go是非常方便的:

    brew install go

    Homebrew会自动处理下载、安装以及大部分的环境变量配置(通常会把Go的可执行文件链接到

    /usr/local/bin
    ,这个路径一般已经在
    PATH
    中了)。更新Go也只需
    brew upgrade go
    。这种方式的优点是便捷、易于管理版本,并且可以轻松地切换Go版本(通过
    brew switch go 
    )。缺点是,如果你对Homebrew不熟悉,可能需要先安装Homebrew本身。

  2. 通过Go版本管理工具(如

    gvm
    goenv
    对于需要频繁切换Go版本进行开发的场景(例如,维护多个使用不同Go版本的项目),使用Go版本管理工具会非常高效。

    • gvm
      (Go Version Manager)
      :类似于
      nvm
      rvm
      ,允许你在不同的Go版本之间轻松切换。 安装
      gvm
      bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

      安装Go版本:

      gvm install go1.x.x
      gvm use go1.x.x --default
    • goenv
      :另一个流行的Go版本管理工具,功能类似
      gvm
      ,但可能在某些方面更轻量级。通常通过Homebrew安装。 安装
      goenv
      brew install goenv

      然后按照

      goenv
      的指引进行shell配置,并安装Go版本。

    这些工具的优点是版本管理极其灵活,可以为不同的项目设置不同的Go版本,避免版本冲突。缺点是增加了额外的工具链管理复杂性,对于只需要一个Go版本的用户来说可能显得有些“重”。

无论选择哪种方式,安装完成后,都别忘了通过

go version
验证安装,并检查你的
GOPATH
PATH
环境变量是否如你所愿地配置妥当。毕竟,一个顺畅的开发环境,是高效编码的基石。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
golang如何定义变量
golang如何定义变量

golang定义变量的方法:1、声明变量并赋予初始值“var age int =值”;2、声明变量但不赋初始值“var age int”;3、使用短变量声明“age :=值”等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

181

2024.02.23

golang有哪些数据转换方法
golang有哪些数据转换方法

golang数据转换方法:1、类型转换操作符;2、类型断言;3、字符串和数字之间的转换;4、JSON序列化和反序列化;5、使用标准库进行数据转换;6、使用第三方库进行数据转换;7、自定义数据转换函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

229

2024.02.23

golang常用库有哪些
golang常用库有哪些

golang常用库有:1、标准库;2、字符串处理库;3、网络库;4、加密库;5、压缩库;6、xml和json解析库;7、日期和时间库;8、数据库操作库;9、文件操作库;10、图像处理库。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

342

2024.02.23

golang和python的区别是什么
golang和python的区别是什么

golang和python的区别是:1、golang是一种编译型语言,而python是一种解释型语言;2、golang天生支持并发编程,而python对并发与并行的支持相对较弱等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

209

2024.03.05

golang是免费的吗
golang是免费的吗

golang是免费的。golang是google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的开源编程语言,采用bsd开源协议。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

394

2024.05.21

golang结构体相关大全
golang结构体相关大全

本专题整合了golang结构体相关大全,想了解更多内容,请阅读专题下面的文章。

220

2025.06.09

golang相关判断方法
golang相关判断方法

本专题整合了golang相关判断方法,想了解更详细的相关内容,请阅读下面的文章。

192

2025.06.10

golang数组使用方法
golang数组使用方法

本专题整合了golang数组用法,想了解更多的相关内容,请阅读专题下面的文章。

376

2025.06.17

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

10

2026.01.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.3万人学习

Django 教程
Django 教程

共28课时 | 3.6万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号