Mac os安装golang开发环境

为了能够愉快地进行golang编程,我们需要安装以下几样东西:

  • 包管理Homebrew
  • 语言环境golang
  • 版本管理git
  • 虚拟器docker
  • 编译器Goland
    我将按照这个顺序叙述整个安装过程

docker 其实是可选的,它可以把应用程序打包为可移植的、自给自足的容器。这样一来,你就可以在本地生成golang程序的docker镜像,直接扔到测试环境,便可以进行测试了,不需要再进行代码上传,环境配置等操作了。
如果你觉得暂时用不到,也可以先不装。

1 安装brew


HomeBrew图标

Homebrew有点类似于Linux操作系统中的apt-get(Ubuntu)、yum(yum),Mac的操作系统中使用它解决包依赖问题,套用官方的话来说:

Homebrew 能干什么?

使用 Homebrew 安装 Apple 没有预装但 你需要的东西

让我们开始安装吧!

在命令行输入以下指令

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

出现以下内容,安装成功

==> Installation successful!

==> Homebrew has enabled anonymous aggregate user behaviour analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics.html

==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    https://docs.brew.sh

2 安装并配置golang


golang图标

2.1 方法一:通过brew安装golang

  • 首先看看有哪些golang版本可用
fabric:~ fabric$ brew search go
==> Formulae
algol68g                       go-jira                        gofabric8                      goolabs                        gx-go                          mongodb@3.6
arangodb                       go-statik                      goffice                        goose                          Hugo                           mongoose
argon2                         go@1.4                         gollum                         gopass                         jfrog-cli-go                   pango
bogofilter                     go@1.8                         golo                           gor                            jpegoptim                      pangomm
cargo-completion               go@1.9                         gom                            goreleaser                     lego                           percona-server-mongodb
certigo                        goaccess                       gomplate                       gost                           lgogdownloader                 pygobject
cgoban                         goad                           goocanvas                      gosu                           libgosu                        pygobject3
clingo                         gobby                          goofys                         gotags                         mongo-c-driver                 ringojs
django-completion              gobject-introspection          google-authenticator-libpam    goto                           mongo-cxx-driver               spaceinvaders-go
forego                         gobuster                       google-benchmark               gource                         mongo-orchestration            spigot
fuego                          gocr                           google-java-format             govendor                       mongodb                        svgo
gnu-go                         gocryptfs                      google-sparsehash              gowsdl                         mongodb@3.0                    wego
go                             godep                          google-sql-tool                gox                            mongodb@3.2                    wireguard-go
go-bindata                     goenv                          googler                        gst-plugins-good               mongodb@3.4  

我们发现最新的有1.9可以使用

  • 安装brew下最新版本的go
fabric:~ fabric$ brew install go@1.9
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/go@1.9-1.9.7.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring go@1.9-1.9.7.high_sierra.bottle.tar.gz
==> Caveats
A valid GOPATH is required to use the `go get` command.
If $GOPATH is not specified, $HOME/go will be used by default:
  https://golang.org/doc/code.html#GOPATH

You may wish to add the GOROOT-based install location to your PATH:
  export PATH=$PATH:/usr/local/opt/go@1.9/libexec/bin

This formula is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/go@1.9/bin:$PATH"' >> ~/.bash_profile

==> Summary
  /usr/local/Cellar/go@1.9/1.9.7: 7,668 files, 294.2MB
  • 配置golang的相关环境变量
fabric:~ fabric$ vim ~/.bashrc

将下面内容添加进上面的文件

#GOROOT
export GOROOT=/usr/local/opt/go\@1.9

#GOPATH
export GOPATH=$HOME/Documents/code/gopath

#GOPATH root bin
export PATH=$PATH:$GOROOT/bin

GOPATH可以根据个人习惯设置为其他目录
本人习惯在home目录下的Documents里新建一个code目录,用于存放各种语言的代码,比如Documents/code/gopath用于存放golang的代码,Documents/code/www用于存放php代码...

让改动生效

fabric:~ fabric$ source ~/.bashrc
  • 试一试golang是否安装成功
    出现以下内容,则安装成功
fabric:~ fabric$  go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/fabric/Documents/code/gopath"
GORACE=""
GOROOT="/usr/local/opt/go\@1.9"
GOTOOLDIR="/usr/local/Cellar/go@1.9/1.9.7/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/wc/bby1pbz17v3dkr8rmcpjptwm0000gn/T/go-build871394220=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

2.2 方法二:从源码安装golang

这个在我另外一篇文章做了详细的叙述,详情请见《修改并编译golang源码》

3 安装配置git


git图标

3.1 用brew安装git

fabric:~ fabric$ brew install git
==> Downloading https://homebrew.bintray.com/bottles/git-2.18.0.high_sierra.bott
######################################################################## 100.0%
==> Pouring git-2.18.0.high_sierra.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions and functions have been installed to:
  /usr/local/share/zsh/site-functions

Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/git
==> Summary
  /usr/local/Cellar/git/2.18.0: 1,488 files, 295.6MB

3.2 配置git

3.2.1 查看用户名和邮箱地址

fabric:~ fabric$ git config user.name
fabric:~ fabric$ git config user.email

3.2.2 修改用户名和邮箱地址

fabric:~ fabric$ git config --global user.name "你的用户名"
fabric:~ fabric$ git config --global user.email "你的邮箱地址"

3.2.3 生成SSH KEY

为了向github自己的仓库提交代码,我们需要设置SSH KEY

  • 首先来生成SSH KEY
fabric:~ fabric$ ssh-keygen -t rsa -C 你的邮箱地址
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/fabric/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/fabric/.ssh/id_rsa.
Your public key has been saved in /Users/fabric/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:生成的密钥指纹 你的邮箱地址
The key's randomart image is:
+---[RSA 2048]----+
生成的密钥randomart image 
+----[SHA256]-----+
  • 复制上一步生成的公钥(public key),复制进github
fabric:~ fabric$ cat /Users/fabric/.ssh/id_rsa.pub 
你的公钥

github设置公钥的地方:

右上角头像下拉选项 -> Settings -> SSH and GPG keys

设置公钥
  • 可以试着在代码目录下拉取自己的仓库试试是否生效
cd 你的代码目录
git clone 你的代码git仓库地址

4 安装docker


docker

Homebrew 的 Cask 已经支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装:

4.1 用brew安装docker

fabric:~ fabric$ brew cask install docker

在载入 Docker app 后,点击 Next,可能会询问你的 macOS 登陆密码,你输入即可。之后会弹出一个 Docker 运行的提示窗口,状态栏上也有有个如下所示的小鲸鱼的图标:


docker图标

验证一下是不是安装成功了呢,输入以下命令

fabric:~ fabric$  docker version
Client:
 Version:           18.06.0-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        0ffa825
 Built:             Wed Jul 18 19:05:26 2018
 OS/Arch:           darwin/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.0-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       0ffa825
  Built:            Wed Jul 18 19:13:46 2018
  OS/Arch:          linux/amd64
  Experimental:     true

4.2 下载app安装

如果需要手动下载,请点击以下链接下载 StableEdge 版本的 Docker for Mac。

如同 macOS 其它软件一样,安装也非常简单,双击下载的 .dmg 文件,然后将鲸鱼图标拖拽到 Application 文件夹即可。


拖拽安装

4.3 给咱的docker提提速

由于一些大家都知道的原因,我们拉取Docker镜像会很缓慢,我们可以通过添加加速器来解决。比如网易的镜像地址:

http://hub-mirror.c.163.com

点击右上角的小鲸鱼图标 -> Perferences,然后选择下图中的Daemon->Registry mirrors,添加上面的地址


增加仓库

应用改动后,docker会重启,我们来看一下是否配置成功

fabric:~ fabric$ docker info
Containers: 0
 Running: 0
 ...
Registry Mirrors:
 http://hub-mirror.c.163.com/
Live Restore Enabled: false

可以看到,配置的地址已经生效了。

5 安装Goland


Goland

这里只是提供个工具推荐,安装Goland的文章网上一抓一大把,我就不赘述了。

如此一来,整个安装过程便完成了!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 230,578评论 6 544
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,701评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,691评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,974评论 1 318
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,694评论 6 413
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 56,026评论 1 329
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 44,015评论 3 450
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 43,193评论 0 290
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,719评论 1 336
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,442评论 3 360
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,668评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,151评论 5 365
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,846评论 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,255评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,592评论 1 295
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,394评论 3 400
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,635评论 2 380

推荐阅读更多精彩内容