(补充: gvm可能不管用了)
gvm是golang的版本管理工具,用它来安装golang的话十分方便,可以自由切换golang版本,现在新版本go支持不好
GitHub地址:https://github.com/moovweb/gvm
里面有安装教程,不过我写的这篇稍微有点不同,你们可以先阅读一遍,知道一下意思。本人用的是Ubuntu16.04
第一步:安装依赖
如果是Debian/Ubuntu的:
sudo apt-get install curl git mercurial make binutils bison gcc build-essential
如果是Redhat/Centos的:
sudo yum install curl
sudo yum install git
sudo yum install make
sudo yum install bison
sudo yum install gcc
sudo yum install glibc-devel
如果是FreeBSD Requirements:
sudo pkg_add -r bash
sudo pkg_add -r git
sudo pkg_add -r mercurial
第二步:安装gvm:
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
第三步:修改脚本:
打开 ~/.gvm/scripts/install 文件,,
找到GO_BINARY_URL所在,把它的值改成如下:
GO_BINARY_URL="https://storage.googleapis.com/golang/${GO_BINARY_FILE}"
第四步:安装golang
可以安装多个版本,需要用哪个版本再切换:
gvm install go1.10.2 -B
gvm install go1.11 -B
gvm use go1.11
注意:关闭终端即结束会话,开启第二次会话要重新gvm use
用 go env 命令可以看看自己环境参数
也可以固定使用某个版本:
在用户主目录下建立起 gopath 目录作为你的工作目录
vim ~/.bashrc 在文件末尾加入
export GOPATH=/home/用户名/gopath
export GOROOT=/home/用户名/.gvm/gos/go1.11
export PATH=$PATH:$GOROOT/bin
export PATH=$PATH:$GOPATH/bin
然后执行
source ~/.bashrc
上面的环境变量只对当前用户起作用,如果对所有用户有效的话可以写到/etc/profile里面去, 然后执行 source /etc/profile
第五步:依赖管理,可以使用glide或者官方推荐的dep
参考这篇:Golang官方依赖管理工具dep
注意: go1.11开始增加了go module 的包管理,建议使用
第六步:配置vim
因为 Vim 是 Linux 下开发的最基本工具,为了通用这里基于 Vim 来配置开发环境。如果要配置一个 Vim IDE 有很多步骤需要一步一步去做,这里借用了腾讯工程师编写的一个安装工具来配置,具体配置步骤如下:
下载 Vim 配置工具
git clone https://github.com/lexkong/lexVim
进入 lexVim 目录,下载 go ide 需要的二进制文件:
cd lexVim
git clone https://github.com/lexkong/vim-go-ide-bin
都是二进制文件,大概有 141MB,请耐心等待 ?
启动安装脚本:
./start_vim.sh
启动后,会进入一个交互环境,依次输入: 1 -> yourname -> [email protected],脚本最后输出 this vim config is success !说明安装成功。很简单,只需 3 个选择即可安装成功,配置 IDE so easy。
Vim IDE 常用功能
在 Go 项目开发中最常用的功能是:
gd 或者ctrl + ] 跳转到对应的函数定义处
ctrl + t 标签退栈
ctrl + o 跳转到前一个位置
最近文件列表
在 Vim 的上面打开文件查找窗口
生成供函数跳转的 tag
打开目录窗口,再按会关闭目录窗口
添加函数注释
在代码间跳来跳去,将光标放在某个函数调用上,按 ctl + ] 就会跳到函数的定义处,按 ctrl + o 就会跳回来。
更多 Go vim ide 功能请参考 https://github.com/lexkong/lexVim/blob/master/doc/ide.md
实际上我的比较多的是jetbrains家的 GoLang, 在linux的应用商店可以直接安装,没有的话可以去官网
激活码: http://idea.lanyus.com/