MacOS下本地golang环境搭建详细教程
来源:脚本之家
时间:2022-12-31 11:28:42 178浏览 收藏
来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《MacOS下本地golang环境搭建详细教程》,介绍一下搭建、MacOS,希望对大家的知识积累有所帮助,助力实战开发!
安装golang
使用homebrew安装golang。homebrew是MacOS 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等功能。开发者不需要关心依赖和文件路径。如果系统没有安装homebrew,终端内执行以下命令安装homebrew。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
安装完homebrew后执行以下命令安装golang,如果下载过慢可能是由于网络原因,可以通过更改homebrew的镜像地址或者开启科学上网解决。
brew install golang
配置环境变量
安装成功后,执行 go env 查看golang的环境变量。顺便可以测试是否安装成功。在本地的shell。配置相应环境变量。
zsh执行 vim ~/.zshrc,bash vim ~/.bashrc。从交互及易用的角度zsh更好一些,zsh完全兼容bash,并且提供自动补全的功能。如果shell默认不是zsh。可以通过如下命令切换默认zsh,并安装oh-my-zsh。oh-my-zsh 是基于 zsh 命令行的一个扩展工具集,提供了丰富的扩展功能。
sudo chsh -s zsh sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
然后在~/.zshrc 声明环境变量,下面的示例中设置GOPATH为根目录下的golang目录,可以指定自己的目录为GOPATH。
export GOPATH=$HOME/golang export GOROOT=/usr/local/opt/go/libexec export GOPROXY=https://goproxy.cn,direct
安装完成执行 source ~/.zshrc,或者重新打开shell,使环境变量生效。GOROOT
就是golang的安装路径。GOPATH
作为 Go 语言的环境变量,相当于个人的工作区,每个工作区中都会有以代码包为基本组织形式的源码文件。goalng的项目必须放在GOPATH路径下,才能正常执行。这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。这个目录下有三个子目录:src、bin、pkg。
按照约定这三个目录的作用是:
- src 存放项目的源码
- pkg 存放编译后生成的文件
- bin 存放编译后生成的可执行文件
GOPROXY
如果设置完成该变量,下载源代码时将会通过该环境变量设置的代理地址,不会直接从代码库下载。而且某些代码库所在服务器需要科学上网才可以访问。设置GOPROXY
可以避免由于网络环境的原因下载不了某些代码库。GOPRIVATE
正常情况下是从公共镜像 goproxy.io
上下载依赖包,并且会对下载的软件包和代码库进行安全校验,所以设置环境变量 GOPRIVATE
,可以对指定仓库地址,跳过 proxy server 和校验检查。
通过设置GONOPROXY
和 GONOSUMDB
等环境变量。 可以更灵活的控制哪些依赖软件包经过 proxy server 和 sumdb 校验,这两个环境变量的被设置后将覆盖 GOPRIVATE 环境变量。GONOSUMDB
通过这个环境变量设置不做校验的代码仓库地址。设置完成后从该地址上下载的依赖都不需要做校验。
Goland设置
VSCode需要额外配置插件,这里不讨论VSCode,如果团队开发使用Goland比较方便管理。毕竟Jenbrains家族的产品,从开发效率上来说,是极高的。但是还是希望懂得底层远离。不要离开IDE就不会写代码,无法启动项目。
IDE的额外配置:
1.自动保存格式化。避免因代码未格式化提交到git历史里。Preferences ->Plugins
搜索 save actions,然后设置自动保存格式化。
2.设置goimports 格式化代码。Preferences -> Tools -> File Watchers
。添加goimports 然后设置本地包单独分组参数。
-local amap-aos -w $FilePath$
3.项目配置
在 Goland 的右上方找到“Add Configuration”并单击。在弹出的窗口中点击“+”,并在下拉菜单中选择“Go Build”。点击“Go Build”之后,在窗口中填写对应的信息。
- 名称:为本条配置信息的名称,可以自定义,也可以使用系统默认的值;
- Run kind:这里需要设置为“Directory”。
- Directory:用来设置 main 包所在的目录,不能为空。一般是项目的根目录。
- Output directory:用来设置编译后生成的可执行文件的存放目录,可以为空,为空时默认不生成可执行文件。
- Working directory:用来设置程序的运行目录,可以与“Directory”的设置相同,但是不能为空。
设置完成后就可以使用Goland在本地启动项目,注意项目代码要放在GOPATH下。
总结
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。
-
402 收藏
-
303 收藏
-
429 收藏
-
200 收藏
-
151 收藏
-
290 收藏
-
239 收藏
-
381 收藏
-
168 收藏
-
500 收藏
-
355 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习
-
- 听话的墨镜
- 受益颇多,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,看完之后很有帮助,总算是懂了,感谢楼主分享文章内容!
- 2023-04-08 10:52:41
-
- 鳗鱼草丛
- 这篇文章内容真及时,好细啊,写的不错,收藏了,关注老哥了!希望老哥能多写Golang相关的文章。
- 2023-02-06 09:40:08
-
- 玩命的豆芽
- 太详细了,码住,感谢作者大大的这篇文章内容,我会继续支持!
- 2023-01-14 10:38:29
-
- 外向的外套
- 这篇文章真是及时雨啊,大佬加油!
- 2023-01-13 01:27:14
-
- 玩命的豆芽
- 感谢大佬分享,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢博主分享技术文章!
- 2023-01-12 20:44:44
-
- 闪闪的狗
- 这篇文章出现的刚刚好,太全面了,太给力了,码住,关注师傅了!希望师傅能多写Golang相关的文章。
- 2023-01-12 17:39:02
-
- 热情的吐司
- 很棒,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,看完之后很有帮助,总算是懂了,感谢楼主分享文章内容!
- 2023-01-02 17:52:16
-
- 爱听歌的小甜瓜
- 这篇文章内容出现的刚刚好,很详细,赞 👍👍,码起来,关注作者大大了!希望作者大大能多写Golang相关的文章。
- 2023-01-02 16:30:35
-
- 可靠的路人
- 很详细,收藏了,感谢老哥的这篇博文,我会继续支持!
- 2023-01-02 04:53:04
-
- 虚拟的小兔子
- 这篇文章出现的刚刚好,博主加油!
- 2023-01-02 03:58:55
-
- 玩命的外套
- 很详细,收藏了,感谢博主的这篇文章内容,我会继续支持!
- 2023-01-02 01:35:52
-
- 迷路的跳跳糖
- 很棒,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,看完之后很有帮助,总算是懂了,感谢博主分享文章内容!
- 2023-01-01 22:26:49
-
- 直率的夕阳
- 太细致了,mark,感谢作者大大的这篇文章内容,我会继续支持!
- 2023-01-01 13:59:54
-
- 高挑的钢笔
- 这篇技术贴出现的刚刚好,太详细了,感谢大佬分享,mark,关注楼主了!希望楼主能多写Golang相关的文章。
- 2022-12-31 15:09:01