文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么在Mac环境下配置Golang环境

2023-06-25 12:19

关注

这篇文章主要讲解了“怎么在Mac环境下配置Golang环境”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Mac环境下配置Golang环境”吧!

配置 Golang 环境(Mac, vscode, 国内)

下载 Golang

因为 Homebrew 的存在,在 Mac 上下载什么都很方便。可以运行以下的命令安装 Homebrew :

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

关于 Homebrew 的更多信息,你可以拜访他们的网站:brew.sh/

安装完成之后就可以使用以下命令来安装 Go 语言:

$ brew install go

安装完成之后,你可以跑以下命令来测试一下:

$ go version

设置 $GOPATH

Go 语言要求你在系统的环境变量中给提供一个$GOPATH变量,顾名思义,就是给 Go 语言提供一个让其操作的文件夹位置。

我们可以通过以下两种方式来设置环境变量

第一种

直接把变量设置在 ~/.bash_profile 文件中,具体的操作如下:

$ sudo nano ~/.bash_profile

运行以上的命令会在终端打开一个 nano 编辑器来编辑 ~/.bash_profile 文件。你可以在 .bash_profile 文件中加入一行:export GOPATH=$HOME/Developer/go

$HOME/Developer/go 是我自己喜欢的 GOPATH 文件夹位置,你可以任意设置一个文件夹位置。 输入完成之后,按 ctrl + o 之后再按 enter进行保存。最后按 ctrl + x 退出 nano 编辑器。

第二种

如果每次通过 sudo nano ~/.bash_profile 来修改环境变量实在太麻烦,而且通过其它编辑器,比如说 vscode 来修改 .bash_profile 每次也需要密码授权,也是很麻烦。那么有没有比较简洁的办法呢?

我们可以另外创建一个文件来存放环境变量。比如说我们创建一个文件 $HOME/Developer/index.sh,这时我们可以把原来export GOPATH=$HOME/Developer/go 输入到这个文件。 这时,我们通过sudo nano ~/.bash_profile 命令把原来的.bash_profile文件里的export GOPATH=$HOME/Developer/go删除掉,并且添加上这一行source $HOME/Developer/index.sh,然后保存退出。 这样以后,你就可以直接修改 $HOME/Developer/index.sh 来设置环境变量,而不是去修改 ~/.bash_profile 文件了。 这么做的原理在于 source 命令会去引入~/Developer/index.sh 里面的内容。

配置 $PATH

当你配置完了 $GOPATH ,你还要配置一下 $PATH。这是因为,有些时候我们在终端要直接运行 Golang 的一些二进制文件,如果你没有把存放 Golang 二进制的文件夹包括在 $PATH 里面的话,终端是找不到它们的。 存放 Golang 二进制文件的文件夹一般有两个。第一个是 $GOPATH/bin, 第二个是$GOROOT/bin。你可能会疑惑这里的 $GOROOT 是什么。其实就是存放 Golang 源代码的位置,里面存放着一些 Golang 自带的库文件。在 Mac 上我们是不需要设置 $GOROOT 的, 但是在 Windows 上就需要。为了方便理解,我们可以在这里也设置一下。如果你使用 Homebrew 安装 Golang 的话,$GOROOT 会被映射到 /usr/local/opt/go/libexec。那么用我们上面设置 $GOPATH 的第二种方法的话,在 index.sh 文件上添加上这一行就可以设置 GOROOT: export GOROOT=/usr/local/opt/go/libexec。 同时我们也可以在 index.sh 上设置 $PATH。为了简化说明,我直接给你展示完整的 index.sh 是这样的:

export $GOPATH=$HOME/Developer/goexport $GOROOT=/usr/local/opt/go/libexecexport PATH=$PATH:$GOPATH/bin:$GOROOT/bin

配置 Visual Studio Code

我热爱 vscode 的原因第一在于它的轻量,第二在于它的全能性。它真的很轻量,反正我在我的 macbook pro 2013 (8g i7) 上面使用它没有遇到过卡顿,如果使用 goland,便会经常卡顿。当然如果你的电脑配置逆天(比如说 iMac Pro),这点你当然可以忽略不计。全面性在于,它拥有很强大的社区,里面有功能丰富的插件,你可以在上面编程几乎任何语言。话不多说,让我们来看看如何在上面配置 Go 语言环境。

下载官方 Golang 插件

Vscode 上下载插件很方面,在最左侧的竖排导航栏选择 Extensions。 然后在搜索框搜索 go 的第一个插件就是官方(微软)的 Go 语言插件,下载即可。

你有兴趣的话,可以浏览官方 Golang 插件的网址:https://github.com/microsoft/vscode-go

安装 Golang 官方插件依赖包

当你下载这个插件之后,每当你打开一个golang的文件(.go)的时候,它就会提醒安装一些依赖包(其实这些依赖包就是用 Golang 写的一些包)。 你可以点击提醒框右侧的 install all 选项来安装所有安装包。 但是当运行一段时间之后,你会发现好多包都安装失败了:

Installing github.com/mdempsky/gocode FAILEDInstalling github.com/ramya-rao-a/go-outline FAILEDInstalling github.com/acroca/go-symbols FAILEDInstalling golang.org/x/tools/cmd/guru FAILEDInstalling golang.org/x/tools/cmd/gorename FAILEDInstalling github.com/stamblerre/gocode FAILEDInstalling github.com/ianthehat/godef FAILEDInstalling github.com/sqs/goreturns FAILEDInstalling golang.org/x/lint/golint FAILED9 tools failed to install.

原因是因为一些众所周知的原因,在国内无法访问 golang.org,自然也就无法下载在其下的资源。这时我们可以设置 $GOPROXY来解决这个问题。设置$GOPROXY 其实就是设置一个代理帮你去访问和安装这些包,而不是通过你自己的网络。我个人使用的代理是这个:export GOPROXY="https://athens.azurefd.net"。同样的,你可以把这行代码写进index.sh 文件,那么更新后的index.sh 文件就是这样的:

export $GOPATH=$HOME/Developer/goexport $GOROOT=/usr/local/opt/go/libexecexport PATH=$PATH:$GOPATH/bin:$GOROOT/binexport GOPROXY="https://athens.azurefd.net"

以下是现有的其它可用的代理:

export GOPROXY="https://goproxy.io"export GOPROXY="https://goproxyus.herokuapp.com"export GOPROXY="https://goproxy.cn"# 最新官方的export GOPROXY="https://proxy.golang.org"

这时,你可以通过再打开一个 Golang 文件弹出提醒框的方式来安装这些包。或者直接通过在 vscode 上按 cmd+shift+p 弹出 vscode 的命令框,然后输入 >Go: Install/Update Tools 来安装这些依赖包了。

其实 vscode 是通过 go get 命令来安装这些安装包的,go get 命令会把源代码安装到 $GOPATH/src, 同时把相应包的二进制文件安装到 $GOPATH/bin。 当你安装完成之后,你去到 $GOPATH/bin 会发现多了很多二进制文件。而官方 Golang 插件就是通过自动找到并使用这些二进制文件来帮你优化编程体验的。比如 gocode 是帮忙自动补全代码的。

感谢各位的阅读,以上就是“怎么在Mac环境下配置Golang环境”的内容了,经过本文的学习后,相信大家对怎么在Mac环境下配置Golang环境这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯