go语言环境mac,go语言环境安装教程

mac端 go语言环境配置问题

修改完环境变量,要执行一个命令应用一下

创新互联是一家专业提供伊通企业网站建设,专注与网站设计、成都网站建设HTML5建站、小程序制作等业务。10年已为伊通众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

source .bash_profile

Golang 绑定mac和ip地址,限制服务器

实际业务:go 二进制文件在私有化部署中,需要对客户的服务器mac和ip进行绑定,系统只能运行在绑定的服务器上。把mac和ip地址配置到config中。

运行效果:系统可正常编译,正常访问,在用户Auth接口进行核对。

//检验Mac和内网IP,测试环境不做校验

func (c *CommonBase)CheckMacAndIp()error {

ipCfg :=g.Cfg().GetString("machine.Ipaddr")

macCfg :=g.Cfg().GetString("machine.Macip")

if ipCfg =="127.0.0.1" {

return nil

}

macArray,_ :=gipv4.GetMacArray()

if len(macArray) ==0 {

return gerror.New("mac地址获取失败")

}

if garray.NewStrArrayFrom(macArray).Contains(macCfg) ==false {

return gerror.New("示授权的应用MAC,请联系")

}

ipArray,_ :=gipv4.GetIpArray()

ipIntranetArray,_ :=gipv4.GetIntranetIpArray()

if len(ipArray) ==0 len(ipIntranetArray) ==0 {

return gerror.New("ip地址获取失败")

}

if garray.NewStrArrayFrom(ipArray).Merge(ipIntranetArray).Contains(ipCfg) ==false {

return gerror.New("示授权的应用IP,请联系")

}

return nil

}

项目使用GoFrame框架1.6。考虑到客户可能会对内存数据做分析破解,可以把mac和ip地址做AES加密。

如何在Mac源码安装Go1.5开发环境

Go1.5开发环境依赖Go1.4版本作为引导,因为Go1.5使用Go本身来编译安装Go,所以必须保证服务器上已经安装Go1.4,这完全是为了解决先有鸡还是先有蛋的问题,当然如果你想避免编译安装1.4也可以直接使用二进制包。

在这里假设你希望将go1.5安装到$HOME/go1.5目录下,只需要以下几步:

下载Go1.5的源码放到$HOME/go1.5目录下

在安装Go1.5之前需要将Go1.4放到$HOME/go1.4下面或者export GOROOT_BOOTSTRAP=/go1.4安装目录/

到$HOME/go1.5/src/下执行all.bash即可

我习惯将软件安装至/usr/local/下,以下为我安装Go1.5(/usr/local/go1.5)的步骤:

wget

tar zxvf go1.5.1.src.tar.gz

mv ./go /usr/local/go1.5

wget

tar zxvf go1.4.3.src.tar.gz

mv ./go /usr/local/go-bootstrap1.4/

cd /usr/local/go-bootstrap1.4/src

./all.bash //编译安装Go1.4,有可能test不通过,只要编译通过,test可忽略,目的是需要go1.4的二进制包来编译1.5

cd /usr/local/go1.5/src

GOROOT_BOOTSTRAP=/usr/local/go-bootstrap1.4 ./all.bash

//可在环境变量中添加GOROOT_BOOTSTRAP,然后再编译Go1.5

以下为网摘:

From C to Go

The gc tool chain is being converted from C to Go.

An ongoing process, started early 2014.

Russ Cox says "It'll be done by March [2015]."

New link tool to replace 6l, 8l, etc.

New asm tool to replace 6a, 8a, etc.

Machine-translated gc to replace 6g, 8g, etc.

Design doc:

golang.org/s/go13compiler

Go 1.5 will have no C code in the tool chain or runtime.

Go语言将使用Go代替C重写运行时环境

Go 1.4 的合并窗口在 9 月份将关闭,从现在开始到12月份发布 Go 1.4 之前将只接受 bug 修复和小调整。

Go 1.4 最主要的变化是将使用 Go 语言本身来重写 Go 的运行时,而之前是采用 C 语言开发。这也是为什么 Go 的发行版中包含一个 C

编译器的原因。

使用 Go 重写的好处是:

当前如果在 Goroutine 的调用堆栈中发现 C 代码,runtime 将在需要增长堆栈时回滚到老的堆栈方法。如果使用 Go 来重写

runtime,那么堆栈拷贝的方法就会更加高效

目前转换工作只计划转 Go 编译器 (5g, 6g, 8g), 而不是 C 编译器,降低运行时中的 C 代码行数,甚至可能完全清除

注意

这是 golang.org 分发版,也就是 gc ,而不是 gccgo

这是不同的 C 编译器,gc 工具链将使用你系统的 C 编译器来编译,gc 运行时则使用它的 C 编译器来编译

8月20日后增加的转换行可能跟 this request 有关.

Go语言将使用Go代替C重写运行时环境

— 从现在开始到12月份 Go 1.4版本发布前,Go将只接受Bug修复和小范围的调整,Go

1.4版本将实现使用Go语言来重写Go的运行时环境。

如何配置go语言开发环境

1.1 Go 安装

Go的三种安装方式

Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式:

Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。

Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。**推荐这种方式**

第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get、Mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。

最后,如果你想在同一个系统中安装多个版本的Go,你可以参考第三方工具GVM,这是目前在这方面做得最好的工具,除非你知道怎么处理。

Go源码安装

在Go的源代码中,有些部分是用Plan 9 C和ATT汇编写的,因此假如你要想从源码安装,就必须安装C的编译工具。

在Mac系统中,只要你安装了Xcode,就已经包含了相应的编译工具。

在类Unix系统中,需要安装gcc等工具。例如Ubuntu系统可通过在终端中执行sudo apt-get install gcc

libc6-dev来安装编译工具。

在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc,并设置相应的环境变量。

你可以直接去官网下载源码,找相应的goVERSION.src.tar.gz的文件下载,下载之后解压缩到$HOME目录,执行如下代码:

cd go/src

./all.bash

运行all.bash后出现"ALL TESTS PASSED"字样时才算安装成功。

上面是Unix风格的命令,Windows下的安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的gcc。

如果是Mac或者Unix用户需要设置几个环境变量,如果想重启之后也能生效的话把下面的命令写到.bashrc或者.zshrc里面,

export GOPATH=$HOME/gopath

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

如果你是写入文件的,记得执行bash .bashrc或者bash

.zshrc使得设置立马生效。

如果是window系统,就需要设置环境变量,在path里面增加相应的go所在的目录,设置gopath变量。

当你设置完毕之后在命令行里面输入go,看到如下图片即说明你已经安装成功

图1.1 源码安装之后执行Go命令的图

如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录。

关于上面的GOPATH将在下面小节详细讲解

Go标准包安装

Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go

(Windows系统:c:\Go),当然你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息:

export GOROOT=$HOME/go

export GOPATH=$HOME/gopath

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

上面这些命令对于Mac和Unix用户来说最好是写入.bashrc或者.zshrc文件,对于windows用户来说当然是写入环境变量。

如何判断自己的操作系统是32位还是64位?

我们接下来的Go安装需要判断操作系统的位数,所以这小节我们先确定自己的系统类型。

Windows系统用户请按Win+R运行cmd,输入systeminfo后回车,稍等片刻,会出现一些系统信息。在“系统类型”一行中,若显示“x64-based

PC”,即为64位系统;若显示“X86-based PC”,则为32位系统。

Mac系统用户建议直接使用64位的,因为Go所支持的Mac OS X版本已经不支持纯32位处理器了。

Linux系统用户可通过在Terminal中执行命令arch(即uname

-m)来查看系统信息:

64位系统显示

x86_64

32位系统显示

i386

Mac 安装

访问下载地址,32位系统下载go1.4.2.darwin-386-osx10.8.pkg,64位系统下载go1.4.2.darwin-amd64-osx10.8.pkg,双击下载文件,一路默认安装点击下一步,这个时候go已经安装到你的系统中,默认已经在PATH中增加了相应的~/go/bin,这个时候打开终端,输入go

看到类似上面源码安装成功的图片说明已经安装成功

如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录。

Linux 安装

访问下载地址,32位系统下载go1.4.2.linux-386.tar.gz,64位系统下载go1.4.2.linux-amd64.tar.gz,

假定你想要安装Go的目录为 $GO_INSTALL_DIR,后面替换为相应的目录路径。

解压缩tar.gz包到安装目录下:tar zxvf go1.4.2.linux-amd64.tar.gz -C

$GO_INSTALL_DIR。

设置PATH,export PATH=$PATH:$GO_INSTALL_DIR/go/bin

然后执行go

图1.2 Linux系统下安装成功之后执行go显示的信息

如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录。

Windows 安装

访问Google Code 下载页,32

位请选择名称中包含 windows-386 的 msi 安装包,64 位请选择名称中包含 windows-amd64 的。下载好后运行,不要修改默认安装目录

C:\Go\,若安装到其他位置会导致不能执行自己所编写的 Go 代码。安装完成后默认会在环境变量 Path 后添加 Go 安装目录下的 bin 目录

C:\Go\bin\,并添加环境变量 GOROOT,值为 Go 安装根目录 C:\Go\ 。

验证是否安装成功

在运行中输入 cmd 打开命令行工具,在提示符下输入 go,检查是否能看到 Usage 信息。输入

cd %GOROOT%,看是否能进入 Go 安装目录。若都成功,说明安装成功。

不能的话请检查上述环境变量 Path 和 GOROOT 的值。若不存在请卸载后重新安装,存在请重启计算机后重试以上步骤。

第三方工具安装

GVM

gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具。使用起来相当的方便,安装gvm使用如下命令:

bash (curl -s -S -L )

安装完成后我们就可以安装go了:

gvm install go1.4.2

gvm use go1.4.2

也可以使用下面的命令,省去每次调用gvm use的麻烦: gvm use go1.4.2 --default

执行完上面的命令之后GOPATH、GOROOT等环境变量会自动设置好,这样就可以直接使用了。

apt-get

Ubuntu是目前使用最多的Linux桌面系统,使用apt-get命令来管理软件包,我们可以通过下面的命令来安装Go,为了以后方便,应该把

git mercurial 也安装上:

sudo apt-get install python-software-properties

sudo add-apt-repository ppa:gophers/go

sudo apt-get update

sudo apt-get install golang-stable git-core mercurial

homebrew

homebrew是Mac系统下面目前使用最多的管理软件的工具,目前已支持Go,可以通过命令直接安装Go,为了以后方便,应该把

git mercurial 也安装上:

brew update brew upgrade

brew install go

brew install git

brew install mercurial

Mac下交叉编译linux golang程序

一、背景介绍

闲来无事,申请了台aws服务器在家搞点小东东,用golang做了个小东东,想放上去。自己的电脑是mac电脑,起初忘记了交叉编译的事,直接编译了下直接扔到aws,运行的时候出现了不可以运行的二进制格式提示。

二、交叉编译的过程

 1、随手百度了下,很多文章都写的“CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build”(不知你搜索到的是不是这个结果),看到这也挺简单,分别是禁用cgo,指定目标系统,指定目标CPU体系架构,然后编译。

按照百度出来的建议,尝试在电脑上编译了下,提示如下错误,如果没有出现错误的可以不用往下看了哈。

2、如第一步所述,是将CGO关闭的状态,如果程序用到了CGO,是不是就需要将CGO放开?将CGO放开又会是什么现象?具体如下:

从上述的错误信息可以看出来,环境变量是生效的,确实是linux体系架构了。

3、继续百度, 终于发现这篇文章非常不错,在这里和大家分享下,按照文章的操作就可以解决问题了,而且里面有非常详细的讲解。

Mac系统下彻底删除golang的方法

Mac系统下彻底删除golang的方法

首先打开终端输入命令

可以看到go的安装相关路径,一般默认情况下在是 /usr/local/go

同时可以执行命令

查看go的相关信息,以及使用命令

查看go相关的配置信息

现在正是开始怎么彻底删除Mac中的golang吧

第一步:

在root模式下删除go的安装包,执行命令:

第二步:

清除go默认的配置信息,执行命令:

第三步:

删除mac下变量环境,先打开终端命令窗口,执行命令:

删除相关信息,以下是我的信息有点多,你的安装看具体情况

以上编辑完毕后,按键盘上esc键,然后输入

保存成功

重启bash_profile,,在终端命令窗口输入如下:

ok!it's over!


当前题目:go语言环境mac,go语言环境安装教程
文章出自:http://pwwzsj.com/article/phijjg.html