linux下Golang安装配置教程

做为运维人员,使用python语言足矣,理论上是无需了解golang的。不过最近发现一个新潮的监控系统都是基于golang进行开发的,如小米公司的Open-Falcon(github项目页) 、stack exchange 公司的Bosun (github项目页)。

一、Go的三种安装方式

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

Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。
Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。推荐这种方式
第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get、Mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。
最后,如果你想在同一个系统中安装多个版本的Go,你可以参考第三方工具GVM,这是目前在这方面做得最好的工具,除非你知道怎么处理。

二、Go源码安装

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

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

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

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

由于本人平时主要涉及到linux平台下的使用,所以这里只以linux平台为例,不涉及mac 和win下的安装。

1、Go 源代码下载

从 官方页面 、 国内镜像 或github上下载 Go 的源码包到你的计算机上,然后将解压后的目录go通1过命令移动到$GOROOT所指向的位置。

#本人设置$GOROOT为/usr/local/go
export $GOROOT=/usr/local/go
wget https://storage.googleapis.com/golang/go<VERSION>.src.tar.gz
tar zxv go<VERSION>.src.tar.gz
mv go $GOROOT

2、安装gcc等编译工具

sudo apt-get install bison ed gawk gcc libc6-dev make

yum gcc mak gawk

根据不同的发行版,自行选择相应的编译环境包安装的方式。

3、编译

cd $GOROOT/src
./all.bash

4、环境变量配置

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
或者使用如下:
export PATH=$PATH:/usr/local/go/bin
根据需要可以在.bashrc、.profile、/etc/profile等任一文件中配置相应的环境变量。

5、测试

直接运行go命令,出现如下部分,表示环境已经安装好。

[root@361way ~]# go
Go is a tool for managing Go source code.
Usage:
        go command [arguments]
The commands are:
    build       compile packages and dependencies
    clean       remove object files
    env         print Go environment information
    fix         run go tool fix on packages
    fmt         run gofmt on package sources
    generate    generate Go files by processing source
    get         download and install packages and dependencies
    install     compile and install packages and dependencies
    list        list packages
    run         compile and run Go program
    test        test packages
    tool        run specified go tool
    version     print Go version
    vet         run go tool vet on packages
Use "go help [command]" for more information about a command.
Additional help topics:
    c           calling between Go and C
    filetype    file types
    gopath      GOPATH environment variable
    importpath  import path syntax
    packages    description of package lists
    testflag    description of testing flags
    testfunc    description of testing functions
Use "go help [topic]" for more information about that topic.

三、go标准包安装

通过官方下的压缩包下载来看,标准包里包含源代码,不过区别的是其解包后已经有相应的bin目录存在,里面有已经编译好的golang二进制包。可以直接使用上面第4部的操作配置环境变量后生效。

四、第三方工具安装

1、centos平台下

需使用第三方源epel ,如下:

yum -y install golang

2、ubuntu平台下

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

3、mac平台下

brew update && brew upgrade
brew install go
brew install git
brew install mercurial

五、GVM工具

GVM是一个golang虚拟环境配置工具,其允许一台机器上安装多个golang版本,gvm是第三方开发的Go多版本管理工具,类似ruby里面的rvm工具。使用起来相当的方便,安装gvm使用如下命令:

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
安装完成后我们就可以安装go了:

gvm install go1.4.2
gvm use go1.4.2
也可以使用下面的命令,省去每次调用gvm use的麻烦:
gvm use go1.4.2 --default 执行完上面的命令之后GOPATH、GOROOT等环境变量会自动设置好,这样就可以直接使用了。

六、Go 环境变量

Go 开发环境依赖于一些操作系统环境变量,你最好在安装 Go 之间就已经设置好他们。如果你使用的是 Windows 的话,你完全不用进行手动设置,Go 将被默认安装在目录c:/go下。这里列举几个最为重要的环境变量:

$GOROOT 表示 Go 在你的电脑上的安装位置,它的值一般都是$HOME/go,当然,你也可以安装在别的地方。
$GOARCH 表示目标机器的处理器架构,它的值可以是 386、amd64 或 arm。
$GOOS 表示目标机器的操作系统,它的值可以是 darwin、freebsd、linux 或 windows。
$GOBIN 表示编译器和链接器的安装位置,默认是$GOROOT/bin,如果你使用的是 Go 1.0.3 及以后的版本,一般情况下你可以将它的值设置为空,Go 将会使用前面提到的默认值。
目标机器是指你打算运行你的 Go 应用程序的机器。

Go 编译器支持交叉编译,也就是说你可以在一台机器上构建运行在具有不同操作系统和处理器架构上运行的应用程序,也就是说编写源代码的机器可以和目标机器有完全不同的特性(操作系统与处理器架构)。

为了区分本地机器和目标机器,你可以使用$GOHOSTOS和$GOHOSTARCH设置目标机器的参数,这两个变量只有在进行交叉编译的时候才会用到,如果你不进行显示设置,他们的值会和本地机器($GOOS和$GOARCH)一样。

$GOPATH 默认采用和$GOROOT一样的值,但从 Go 1.1 版本开始,你必须修改为其它路径。它可以包含多个包含 Go 语言源码文件、包文件和可执行文件的路径,而这些路径下又必须分别包含三个规定的目录:src、pkg和bin,这三个目录分别用于存放源码文件、包文件和可执行文件。
$GOARM 专门针对基于 arm 架构的处理器,它的值可以是 5 或 6,默认为 6。
$GOMAXPROCS 用于设置应用程序可使用的处理器个数与核数,详见第 14.1.3 节。
在接下来的章节中,我们将会讨论如何在 Linux、Mac OS X 和 Windows 上安装 Go 语言。在 FreeBSD 上的安装和
Linux 非常类似。开发团队正在尝试将 Go 语言移植到其它例如 OpenBSD、DragonFlyBSD、NetBSD、Plan
9、Haiku 和 Solaris 操作系统上,你可以在这个页面找到最近的动态:Go Porting Efforts。

主机环境使用示例:

export GOARCH=amd64
export GOOS=linux

七、hello word

创建一个hello.go文件,内容如下:

package main
import "fmt"
func main() {
    fmt.Printf("hello, world\n")
}

运行结果如下:

# go run hello.go
hello, world

时间: 2024-10-30 09:45:42

linux下Golang安装配置教程的相关文章

Linux下Redis安装配置教程_Redis

redis作为NoSQL数据库的一种应用,响应速度和命中率上还是比较高效的.项目中需要用集中式可横向扩展的缓存框架,做了一点调研,即便redis.memcached存在效率上的差异(具体比较参考http://timyang.net/data/mcdb-tt-redis/),但其实都能满足目前项目的需求:但是redis还是比较风骚的,支持链表和集合操作,支持正则表达式查找key,目前项目缓存的结果大多是链表,如果链表新增或者修改数据的话,redis就体现出了极大的优势(memcached只能重新加

Linux下Docker安装配置教程_docker

在Linux上安装Docker,具体几个步骤: 环境:windows7 虚拟机:Oracle VMVirtualBox Linux: ubuntukylin-14.04.1-amd64.iso JDK:1.7 一.环境准备 step1:安装虚拟机 step2:修改宿主机BIOS配置,详细步骤见文章:http://www.jb51.net/article/96239.htm step3:在虚拟机上安装ubuntu系统.内存设置为4G,硬盘设置为100G,其余均按默认,一直点选下一步.直到系统安装成

Linux下php安装imagick教程详解

说明: php安装目录:/usr/local/php5 php.ini配置文件路径:/usr/local/php5/etc/php.ini Nginx安装目录:/usr/local/nginx Nginx网站根目录:/usr/local/nginx/html 1.安装编译工具 yum install wget make gcc gcc-c++ gtk+-devel zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch

linux下convert安装配置与使用教程

安装ImageMagick # yum install ImageMagick ImageMagick-devel   # convert -version Version: ImageMagick 6.2.8 05/07/12 Q16 file:/usr/share/ImageMagick-6.2.8/doc/index.html Copyright: Copyright (C) 1999-2006 ImageMagick Studio LLC 同时也可以安装PHP扩展 imagick htt

Linux下MySQL安装配置 MySQL配置参数详解_Mysql

一.下载编译安装 #cd /usr/local/src/ #wget http://mysql.byungsoo.net/Downloads/MySQL-5.1/mysql-5.1.38.tar.gz #tar –xzvf mysql-5.1.38.tar.gz ../software/ #./configure --prefix=/usr/local/mysql //MySQL安装目录 --datadir=/mydata //数据库存放目录 --with-charset=utf8 //使用UT

Linux下Memcache安装配置的方法

安装配置方法一 个人理解: 1.它是基于C语言的Libevent库进行开发的 2.Memcache是一款C/S软件,这款软件是维护内存的. 3.是将数据在内存中使用,从内存中读取要比从硬盘中读取要快. 4.读取内存会减少对I/O设备的调用,从而加大访问速度. 5.内存是一个高速临时存储信息的硬件,断电后里面的信息将被清除. 6.硬盘是一个低速长期存储信息的硬件,断电后里面的信息将被保留. Linux下Memcache服务器端的安装 Memcache用到了libevent这个库用于Socket的处

linux下bugfree 安装配置步骤

一,什么是bugfree BugFree是借鉴微软的研发流程和Bug管理理念,使用PHP+MySQL独立写出的一个Bug管理 系统.简单实用.免费并且开放源代码(遵循GNU GPL). 命名BugFree 有两层意思:一是希望软件中的缺陷越来越少直到没有,Free嘛:二是表示它是免费且开放源代码的,大家可以自由使用传播. 二,安装配置php nginx mysql 1,安装 # yum install php-curl php-mbstring php-gd php-mysql php-pdo

Centos(linux)下cutycapt安装使用教程

在Centos(linux)安装cutycapt Install CutyCapt on Centos 开启 EPEL repository CentOS 7 yum install epel-release CentOS 6 or Earlier rpm -Uvh http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm CentOS/RHEL 5.* rpm -Uvh http://mirrors.ker

Linux系统下PHP安装配置教程

PHP安装 # yum -y install gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel  zlib zlib-devel glibc glibc-devel glib2 glib2-devel libcurl libcurl--devel curl-devel curl libmcrypt libmcrypt-devel