文档章节

Ubuntu 配置 Go 语言开发环境(Sublime Text+GoSublime)

无闻
 无闻
发布于 2013/02/28 09:03
字数 1743
阅读 37220
收藏 56

最后更新:2014 年 6 月 29 日

本文针对的 Go 语言版本为 1.3,之前也有相关文章讲解如何在 Ubuntu 下配置Go语言的开发环境,但时过境迁,一些方法已经不相同或者不必要。虽讲的是 Ubuntu 下安装配置过程,但 Windows 系统不仅下载更方便,配置环境部分大同小异,其中 64 位系统的 GCC 编译器可到 http://tdm-gcc.tdragon.net/ 下载。

第一步:安装Go语言相关工具
请在终端输入以下指令(如果发现下载速度一般,建议每个分开安装,否则一个安装失败将导致未安装的全部失败):

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

等待全部安装完成以后,就可以进入下一步的操作

第二步:安装 Mercurial(如果你不想安装,可直接跳到第三步的方法二)
Mercurial 是一个版本管理系统,俗称 hg,可以直接在终端输入 "hg" 来检查是否已经安装该软件,由于我们需要从 google code 中 clone Go 语言的源码包,而其使用的版本管理系统为 Mercurial,因此我们在获取之前需要安装该软件,在 Ubuntu 下安装非常方便,在终端依次输入以下指令:

sudo apt-get install python-setuptools
sudo apt-get install python-dev
sudo apt-get install build-essential
sudo apt-get install mercurial

第三步:获取Go语言源码包
方法一:请先使用"cd"命令跳转到你想保存Go语言源码的路径,因为环境变量设置好以后再改相对麻烦很多,当然你也可以获取完之后使用"mv"命令移动到你想要的任何位置,但建议一次就想好放在哪里。然后在终端输入以下指令:

hg clone -r release https://go.googlecode.com/hg/ go

方法二:到 http://golang.org/dl/ (或墙内 http://www.golangtc.com/download)页面,选择合适你系统的源码包,下载后解压到指定位置,注意源码包中根目录的名字应该是 go,一会设置环境变量时需要用到,go这个文件夹中应当包含大致如下图内容:

第四步:配置Go语言环境变量
环境变量的配置不论是下一步中编译Go语言源码还是在之后的开发过程中都是至关重要的。
首先,使用任何文本编辑器打开 home 目录下的 .bashrc 文件,如果你不确定到底在哪里,在终端直接输入以下指令也可以:

nano ~/.bashrc

然后进入文本编辑界面,请在文件的最后追加大致如下图内容:

其中,GOROOT应当是你存放源码包的位置,也就是你刚才获得源码解压后 go 文件夹的绝对路径,例如:我的路径为 $HOME/go
GOARCH 与 GOOS 与你下载的发行版有关,例如:我的是 32 位的 Ubuntu,因此 GOARCH 为 386,GOOS 为 linux
PATH 的设置最为关键,首先在等号右侧输入"${PATH}:",接下来输入的就是你前面的 GOROOT 路径下的 bin 文件夹的路径,例如:我的 GOROOT 路径为 $HOME/go,则后面需要追加的内容为 $HOME/go/bin
最后一个 GOPATH 是你的工作目录,可以随时修改,但是根据约定,在该目录,至少包含三个文件夹,bin,pkg,src,bin 文件夹用于存放编译后生成的文件,pkg 用于存放编译后生成的包(.a结尾),src 文件夹用于存放各类源码文件,包括你用网络获取的源码包,以及自己编写的源码,这样在编译时Go才能正常工作

编辑完成后,保存退出。
然后在终端输入以下指令以使我们的设置生效:

$source .bashrc

第五步:编译 Go 源码
请依次在终端输入以下指令,以切换到源码文件夹,并开始编译:

cd $GOROOT/src
./all.bash

稍等片刻,等待编译完成后,应当出现大致如下图信息:

接着,在终端输入指令 go 之后,如果看到大致如下信息,说明基本工作已经完成!

第六步:下载 Sublime Text
飞机票:http://www.sublimetext.com/
下载解压以后,双击 sublime_text,就可以使用它了,至于如何添加到 Launcher 中,请参考博文:http://my.oschina.net/Obahua/blog/110612

第七步:安装 gosublime
首先,我们需要安装 Sublime Text 的 Package Control 功能,在打开软件后,按下快捷键 Ctrl+`,(`这个符号为英文半角模式下,按下 Tab 键上方、数字键1左边的那个按键),此时会打开一个命令窗口,复制并输入以下内容,最后回车:

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 Text 3,请参考 http://wbond.net/sublime_packages/package_control/installation#ST3 来安装 Package Control,一共4个命令,非常简单。

安装完成会提示你重启软件,之后,你就可以发现在 Preferences 这个菜单下出现了菜单项 Package Control,大致如下图所示:

接下来,我们要安装 gosublime 插件,按住 Ctrl+Shift+p 会弹出一个会话框,在其中输入"install"后,大致如下图所示:

接下来按回车,会出现一个安装包的对话框,大致如下图所示:

输入"gosublime",选中并回车,然后输入"go build",选中并回车(可选)。
至此,配置 gosublime 完成。

第八步:Hello World!
在终端输入以下指令,将在你的 $GOPATH/src 文件夹下创建一个 hello.go 的文件,并进入文本编辑界面

nano $GOPATH/src/hello.go

在文本编辑器中输入以下内容:

保存并退出,然后在终端输入以下指令:

go run $GOPATH/src/hello.go

此时,应当看到大致如下图结果:

第九步:非标准库代码输入提示
最新版本的 gosublime 要求设置你的 GOPATH 变量到它的配置文件中,否则可能无法支持对非标准库包的代码输入提示,直接上图,打开 Settings - Default,拷贝所有内容,然后粘贴到 Settings - User 中(这样的做法是为了保证你的修改不会被插件更新而重置,这插件更新很频繁)。

接下来,在 env 这栏中输入你的 GOPATH 变量,重启设置生效。

恭喜你,成功啦!开始享受你的愉快GO语言之旅吧~~~~~Let's Go!!!!!!!

© 著作权归作者所有

共有 人打赏支持
无闻

无闻

粉丝 642
博文 15
码字总数 17351
作品 8
美国
程序员
加载中

评论(23)

无闻
无闻

引用来自“马行空牛耕田”的评论

关于Go的环境变量设置,GORACH=386应该是笔误了,正确的写法应该是GOARCH=386。

补充一条,如果是64位系统,可以改为:GOARCH=amd64
附完整的列表如下:

$GOOS  $GOARCH
darwin  386
darwin  amd64
darwin  arm
darwin  arm64
dragonfly  amd64
freebsd  386
freebsd  amd64
freebsd  arm
linux  386
linux  amd64
linux  arm
linux  arm64
linux  ppc64
linux  ppc64le
netbsd  386
netbsd  amd64
netbsd  arm
openbsd  386
openbsd  amd64
openbsd  arm
plan9  386
plan9  amd64
solaris  amd64
windows  386
windows  amd64
多谢指正!确实是笔误。。嘿嘿
章冬阳
章冬阳
关于Go的环境变量设置,GORACH=386应该是笔误了,正确的写法应该是GOARCH=386。

补充一条,如果是64位系统,可以改为:GOARCH=amd64
附完整的列表如下:

$GOOS  $GOARCH
darwin  386
darwin  amd64
darwin  arm
darwin  arm64
dragonfly  amd64
freebsd  386
freebsd  amd64
freebsd  arm
linux  386
linux  amd64
linux  arm
linux  arm64
linux  ppc64
linux  ppc64le
netbsd  386
netbsd  amd64
netbsd  arm
openbsd  386
openbsd  amd64
openbsd  arm
plan9  386
plan9  amd64
solaris  amd64
windows  386
windows  amd64
无闻
无闻

引用来自“GDP_搞地皮”的评论

有必要安装SublimeLinter+golint包吗? 如何配置golint?

额。。没用过golint,我觉得他的规则不太和自己的习惯兼容
GDP_搞地皮
GDP_搞地皮
有必要安装SublimeLinter+golint包吗? 如何配置golint?
西二三旗
西二三旗

引用来自“无闻”的评论

引用来自“shichaopeng”的评论

为什么在sublime中能运行在命令行下面出现这个问题go build runtime: windows/386 must be bootstrapped using make.bash
谢谢

怎么感觉是go没正确安装

恩,是的我的系统是64位的,我选的是386,换成amd64就好了。。。谢谢
无闻
无闻

引用来自“shichaopeng”的评论

为什么在sublime中能运行在命令行下面出现这个问题go build runtime: windows/386 must be bootstrapped using make.bash
谢谢

怎么感觉是go没正确安装
西二三旗
西二三旗
为什么在sublime中能运行在命令行下面出现这个问题go build runtime: windows/386 must be bootstrapped using make.bash
谢谢
无闻
无闻

引用来自“shichaopeng”的评论

gosublime 运行一个HttpServer 或者一个死循环 怎么停止了??求教 在网上找了半天 没有..

重启sublime!
西二三旗
西二三旗
gosublime 运行一个HttpServer 或者一个死循环 怎么停止了??求教 在网上找了半天 没有..
无闻
无闻

引用来自“J_win”的评论

无法输入中文呀

只有linux输入不了
Windows 7安装ST3, 搭建Go开发环境,Markdown编辑环境

Window 7下安装Sublime Text 3, 搭建GO开发环境和 Markdown编辑环境 第一步:Go环境的安装 直接使用官方的安装包就可以了 第二步: 下载ST3 下载ST3 http://www.sublimetext.com/3 第三步: ...

michaelpan
2014/04/14
0
0
Ubuntu 14.04 上搭建 Golang 开发环境配置

Golang 语言是 Google 10 年前推出的编程语言,目前最新的 1.4 版本 已经正式开始 支持 Android 开发,Golang 也是 Docker 的开发语言。 本文记录 Ubuntu 14.04.1 64bit 上 Golang 语言开发环...

mickelfeng
2016/02/05
0
0
quanpower的Golang学习笔记---2.Sublime Text 2搭建Go开发环境

GO语言吉祥物,很可爱吧。 Go语言的hello world!代码: package main   上一节安装好Go以后,我们就可以搭建开发环境了,这里我用的是 Sublime Text 2 + GoSublime + gocode。对于不了解Sub...

quanpower
2014/01/09
0
1
配置Elementary OS作为工作环境

买了新电脑之后,就换上Elementary OS作为自己的Linux版本。不得不说,Elementary OS确实是我见过的最漂亮的Linux发行版,而且它的panel+dock的设计也很适合用来工作。折腾一番之后终于配置好...

halfcoder
2013/10/12
0
0
Ubuntu 13.04 golang开发环境配置

env: ubuntu 13.04 i386 go 1.0.3 sublime text 2 go/golang不错的IDE组合:gocode + sublime text 2 + gosublime 首先安装go,两种方法: 1. 自动:sudo apt-get install golang 配置环境系......

Honghe
2013/04/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
今天
2
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
2
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
5
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部