Mac下golang开发环境配置

go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发。

下面介绍在Mac OS X中golang的开发环境配置。

1.安装brew

brew是一个mac下的由ruby开发的包管理系统,其官网是http://brew.sh。你只要在你的终端中执行

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

便可将其安装完成。

安装完之后输入命令

brew update

即可获得更新并切换到速度最快的源上

2.安装go

brew install go

3.安装分布式管理工具hg

brew install hg

4.建立go的环境变量文件夹

cd $HOME

mkdir go

vim ~/.bash_profile

加入

export GOPATH=$HOME/go

export PATH=$HOME/bin:$GOPATH/bin:$PATH

保存

source ~/.bash_profile

如果你用的是默认的终端这样做就可以了,但是我的Mac中除了bash还有zsh,平时是用zsh的,所以为了bash和zsh都可以运行go需要这样配置

vim ~/.profile

加入

export GOPATH=$HOME/go

export PATH=$HOME/bin:$GOPATH/bin:$PATH

保存

vim ~/.bash_profile

加入

source ~/.profile

保存

vim ~/.zshrc

加入

source ~/.profile

保存

这样两个终端的环境变量就都配置完成了

package main

import "fmt"

func main() {

fmt.Printf("Hello, world")

}

 

可以将此代码保存成一个test.go文件,输入命令go run test.go来测试运行

5.gosublime

相信更多人还是愿意用sublime来编写代码的

如果你没有Package Control可以按Ctrl + `输入以下代码安装

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation’

重启sublime后,按shift+ctrl+p输入install,然后搜goSublime将其安装

然后安装gocode作为代码提示工具,在终端中输入

go get -u github.com/nsf/gocode

go install github.com/nsf/gocode

这时我们按ctrl+b可以弹出一个控制台,输入go build test.go运行一个go代码发现提示我们环境变量没有配置,这是因为gosublime的环境变量需要单独去配置,bash和zsh配置的在gosublime中是不起作用的。

修改GoSublime配置:在 Preferences菜单下,找到Package Settings,然后找到 GoSublime,再往下找到 Settings - Default。再打开的文件中,将env中改为:

"env": { "GOPATH":"$HOME/go","PATH": "$HOME/bin:$GOPATH/bin:$PATH" },

并且对于shell我们也可以去修改,比如如果想换成zsh的话,可以改为:

"shell": [“$zsh"],

这时,我们运行go代码发现编译可以通过了

本文来自:博客园

感谢作者:jacklandrin

查看原文:Mac下golang开发环境配置

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。